Python Django中多个关系的内联编辑

Python Django中多个关系的内联编辑,python,django,django-admin,inline-editing,Python,Django,Django Admin,Inline Editing,在完成Django教程之后,我现在尝试构建一个非常简单的发票应用程序 我想将几个产品添加到发票中,并在Django管理中的发票表单中指定每个产品的数量。现在我必须创建一个新的产品对象,如果我有相同产品的不同数量 现在,我的模型是这样的(公司和客户模型除外): 我想数量应该从产品模型中删除,但如何在发票模型中为其创建字段?您需要稍微更改模型结构。正如您所认识到的,数量不属于产品型号,而是属于产品和发票之间的关系 要在Django中执行此操作,可以使用: 谢谢这正是我想要的。 class Produ

在完成Django教程之后,我现在尝试构建一个非常简单的发票应用程序

我想将几个产品添加到发票中,并在Django管理中的发票表单中指定每个产品的数量。现在我必须创建一个新的产品对象,如果我有相同产品的不同数量

现在,我的模型是这样的(公司和客户模型除外):


我想数量应该从产品模型中删除,但如何在发票模型中为其创建字段?

您需要稍微更改模型结构。正如您所认识到的,数量不属于产品型号,而是属于产品和发票之间的关系

要在Django中执行此操作,可以使用:


谢谢这正是我想要的。
class Product(models.Model):
    description = models.TextField()
    quantity = models.IntegerField()
    price = models.DecimalField(max_digits=10,decimal_places=2)
    tax = models.ForeignKey(Tax)

class Invoice(models.Model):
    company = models.ForeignKey(Company)
    customer = models.ForeignKey(Customer)
    products = models.ManyToManyField(Product)
    invoice_no = models.IntegerField()
    invoice_date = models.DateField(auto_now=True)
    due_date = models.DateField(default=datetime.date.today() + datetime.timedelta(days=14))
class Product(models.Model):
    ...

class ProductQuantity(models.Model):
    product = models.ForeignKey('Product')
    invoice = models.ForeignKey('Invoice')
    quantity = models.IntegerField()

class Invoice(models.Model):
    ...
    products = models.ManyToManyField(Product, through=ProductQuantity)