我有三个模型Product
,Buyer
和Offer
。
任何买家都可以询问任何一种Product
,但对于每个客户我可能会提供不同的价格。
产品的净价已经由供应商提供。
我在下面编写了代码,突然意识到我只能为报价单选择产品,但是每次使用此代码不能为每种产品和每个客户给出不同的价格。
如果有人可以给我一些建议,那就太好了。 谢谢。
class Product(models.Model):
name = models.CharField(...)
net_price = models.NumericField(...)
class Buyer(models.Model):
name = models.CharField(...)
class Offer(models.Model):
date = models.DateTimeField(auto_created=True, auto_now_add=True)
buyer = models.ForeignKey(Buyer, default='',)
products = models.ManyToManyField(Product, related_name='offer',)
答案 0 :(得分:2)
您可以按照以下步骤进行操作:
class Product(models.Model):
name = models.CharField(...)
class Buyer(models.Model):
name = models.CharField(...)
class Offer(models.Model):
date = models.DateTimeField(auto_created=True, auto_now_add=True)
buyer = models.ForeignKey(Buyer)
class OfferUnit(models.Model):
offer = models.ForeignKey(Offer)
product = models.ForeignKey(Product)
net_price = models.IntegerField()
OfferUnit
就像帐单(发票)中的一行,因此您可以为不同的买家指定不同的价格。