Python Django一对多,在Admin中动态添加字段

Python Django一对多,在Admin中动态添加字段,python,django,admin,django-grappelli,Python,Django,Admin,Django Grappelli,我有以下代码: class Item(models.Model): name = models.CharField(max_length=100) keywords = models.CharField(max_length=255) type = models.ForeignKey(Type) class Meta: abstract = True class Variant(models.Model): test_field = m

我有以下代码:

class Item(models.Model):
    name = models.CharField(max_length=100)
    keywords = models.CharField(max_length=255)
    type = models.ForeignKey(Type)

    class Meta:
        abstract = True

class Variant(models.Model):
    test_field = models.CharField(max_length=255)

class Product(Item):
    price = models.DecimalField(decimal_places=2, max_digits=8,null=True, blank=True)
    brand = models.ForeignKey(Brand)
    variant = models.ForeignKey(Variant)

    def get_fields(self):
        return [(field.name, field.value_to_string(self)) for field in Product._meta.fields]

    def __unicode__(self):
        return self.name
我在用笔画。 我希望我的产品有多种变体。我应该使用manytomanyfield吗

我想能够添加变量到我的产品直接在管理。现在我得到一个空的dropwdown,没有变量(因为它们不存在)

我以为Django在您指定外键时会自动执行此操作

如何使变量字段直接显示在“编辑”中的产品页面上?
我读过一些关于管理中内联字段的文章

好吧,反过来说:)

1/将外键字段放在变体中,而不是放在产品中(您所描述的实际上是一种OneToMany关系)

2/在admin.py的相对ProductAdmin中将变体链接到您的产品,作为内联(即VariantLine)

有关更多信息,请参阅文档:

希望这有帮助


您好,

工作起来很有魅力!非常感谢。是否可以有嵌套的内联模型?如果我想向Variantmodel添加另一个类,可以吗?我试着做同样的事情,但没有成功。。。