Джанго - сложные формы с несколькими моделями - PullRequest
0 голосов
/ 27 июля 2010

Джанго 1,1

models.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...

У меня есть форма, которая должна отображать несколько записей из моей модели Property, каждая с соответствующей формой PropertyComment для сбора комментариев пользователя по этому свойству. Другими словами, позволяя пользователю комментировать несколько экземпляров свойств на одной странице.

Это, кажется, выходит за рамки предполагаемого использования встроенного набора форм, так как он является мультимодельным к многомодельному или одиночным к многомодельным. Кажется, что пытаться перебрать экземпляры Property и создать встроенный набор форм для каждого не только неуклюже, но я даже не уверен, что это может сработать.

Есть идеи, с чего начать?

1 Ответ

0 голосов
/ 27 июля 2010

Задумывались ли вы об использовании фреймворка для комментариев:

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...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...