首页 > 解决方案 > 如何创建包含产品和金额的交付模型?

问题描述

我正在尝试做某种商店。用户通过某些产品(产品模型)获得交付(交付模型)。用户可以选择产品的数量。

这些模型的结构如下:

class Delivery(models.Model):
    some stuff...

class Product(models.Model):
    products = models.ManyToManyField(Product,related_name="deliveries", blank=True, null=True)
    some stuff...

但是现在我真的很困惑如何解决这个看似简单的问题。我在哪里指定每次交货的产品数量。显然,每次交付的金额都不同,所以我很难在产品上指定一个带有金额的字段......我真的很困惑......也许有人可以指导我找到有用的资源?

标签: djangodjango-rest-framework

解决方案


我认为这三个模型应该足以让你盯着看:

class Product(models.Model):
    name = models.CharField(max_length=100)
    unitprice = models.IntegerField()

class Delivery(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE) # each delivery is for a user 

class Deliverable(models.Model):
    delivery = models.ForeignKey(Delivery, on_delete=models.CASCADE) # each deliverable item belongs to a delivery
    product = models.ForeignKey(Product, on_delete=models.CASCADE) # each deliverable item refers to a product 
    quantity = models.IntegerField() # and how many products are to be delivered 

推荐阅读