多模型Django复形

2024-09-30 10:33:21 发布

您现在位置:Python中文网/ 问答频道 /正文

Django 1.1款

在模型.py公司名称:

class Property(models.Model):
    name = models.CharField()
    addr = models.CharField()
    phone = models.CharField()
    etc....

class PropertyComment(models.Model):
    user = models.ForeignKey(User)
    prop = models.ForeignKey(Property)
    text = models.TextField()
    etc...

我有一个表单,它需要显示我的属性模型中的几个条目,每个条目都有一个相应的PropertyComment表单来收集用户对该属性的评论。换句话说,允许用户对同一页面上的多个属性实例进行注释。在

这似乎超出了内联表单集的预期用途,因为它是多模型对多模型,而不是单模型对多模型。似乎尝试遍历属性实例并为每个实例创建一个内联表单集不仅笨拙,而且我甚至不确定它是否可以工作。在

有什么好主意开始吗?在


Tags: django实例用户模型表单model属性models
1条回答
网友
1楼 · 发布于 2024-09-30 10:33:21

您是否考虑过使用评论框架:

http://docs.djangoproject.com/en/dev/ref/contrib/comments/

如果这对您不起作用,那么可以查看inlineformset_factory:

http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#inline-formsets

from django.forms.models import inlineformset_factory 
PropertyCommentFormSet = inlineformset_factory(Property, PropertyComment)
property= Property.objects.get(name=u'some property name')
formset = PropertyCommentFormSet(instance=property)
etc...

相关问题 更多 >

    热门问题