Django,如何使用m2m链接创建添加/编辑对象的表单?

时间:2010-05-26 10:02:02

标签: python django django-templates django-forms

下午好!有三个本质。产品,选项和产品选择。产品通过ProductOption与Option有很多关联。提示如何使用这些选项(不在管理页面上)添加/编辑的形式为产品创建吗?

如果只是输出{{product.options}} - 将是SelectBox,有多个选择。对我来说,有形式是必要的。每个选项都有描述和地图。可以输入它们。

我自己表现为:

使用标签中的选项名称检查装箱,选项说明更低。第10行。

在互联网上阅读材料已经理解,在这种情况下,有必要使用模板集。但是这里还有一个问题:

在产品编辑时,有必要显示所有可能的选项,而不仅仅是那些曾经保存过的选项。即保存(并填充)加上但未锚定到此模型。请提示在哪里挖。

感谢。

1 个答案:

答案 0 :(得分:0)

这是我的models.py。

class Section(models.Model):
    title = models.CharField(max_length=250)

    def __unicode__(self):
        return self.title

    class Meta:
        pass


class Option(models.Model):
    title = models.CharField(blank=True, null=True, max_length=250)
    section = models.ManyToManyField(Section)

    def __unicode__(self):
        return self.title

    class Meta:
        pass


class Card(models.Model):
    title = models.CharField(max_length=250)
    section = models.ForeignKey(Section)
    options = models.ManyToManyField(Option, through='CardOption')

    def __unicode__(self):
        return self.title

    class Meta:
       pass


class CardOption(models.Model):
    card = models.ForeignKey(Card)
    option = models.ForeignKey(Option)
    description = models.TextField(blank=True, null=True, max_length = 300)

    class Meta:
        pass