0
爲了說明這個問題,我建議考慮一下我的應用程序的簡化版本。如何組織項目以獲取特定用戶類型的產品價格?
假設有一個產品型號:
# products/models.py
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=128)
retail_price = models.DecimalField(max_digits=8, decimal_places=2)
和自定義用戶模型:
# authentication/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class ClientType(models.Model):
name = models.CharField(max_length=128)
part_of_retail_price = models.DecimalField(max_digits=4, decimal_places=3)
class Client(AbstractUser): # custom user model
client_type = models.ForeignKey(ClientType)
我希望能夠得到一個特殊的價格爲特定類型的用戶模板:
{% for product in products %}
{{ product.user_price }}
{% endfor %}
授權用戶價格等於product.retail_price和request.user.client的乘積_type.part_of_retail_price,僅針對未授權的product.retail_price。
實施它的最佳方法是什麼?我會很感激任何提示和幫助。
一種方法是編寫乘以正確的因子值自定義過濾器。然後,您可以在模板中使用它,例如'{{product.user_price | user_price}}' – Selcuk