Django用外键形成

时间:2014-02-05 10:48:26

标签: python django django-models django-forms django-templates

我有一个用户可以拥有多本书的场景。我可以为用户和书籍创建两个不同的模型,并使用外键(或一对多将是正确的方式?)来关联它们。 我为用户模型创建了一个django表单但是当我在模板中这样做 {{form.as_p}} 时,只显示用户模型字段而不是books字段。

我希望使用用户字段我的书籍模型也会显示(比如书名字段多一次,因为他可以有多本书),如果有可能使用django表单,请告诉我/模型或我必须使用jquery使用简单的html表单,然后在模型中保存数据。

由于

修改 我的模特:

class Product(models.Model):
    categories = models.CharField(max_length=5, choices = settings.CATEGORIES)
    name = models.CharField(max_length=100)
    description = models.TextField()
    currency = models.CharField(max_length=5, choices = settings.CURRENCY)
    status = models.BooleanField(default=True)

    def __unicode__(self):
        return self.name


class Prices(models.Model):
    products = models.ForeignKey(Product)
    prices = models.IntegerField()

    def __unicode__(self):
    return self.id

2 个答案:

答案 0 :(得分:4)

如果您要为价格创建表单,请尝试将其放入模型表单中:

products = forms.ModelMultipleChoiceField(queryset=Product.objects.all())

答案 1 :(得分:0)

我认为您应该在元类中添加必需的字段,例如

class ThreadForm(ModelForm):
    class Meta:
        model = Thread
        fields = ('Books', 'User')

请理解以模型形式here使用外键的工作流程。