Джанго "более дианмические" формы - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть вопрос о «более динамичных» формах django.

скажем, у меня есть веб-страница, которая представляет Учетную запись со списком пользователей, поэтому у каждой учетной записи будет 1 или более пользователей, есть некоторый javascriptкод для создания дополнительной строки, позволяющей вводить пользовательские данные.

Я думаю, что это довольно распространенный вариант использования, но я не уверен, как это сделать, или просто, я не должен беспокоиться об использовании форм django в этомдело?

Спасибо

1 Ответ

3 голосов
/ 19 апреля 2011

Вы должны использовать formset для этого.В частности, вы можете использовать Inline formset factory для достижения того же.

Из документации этого

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    author = models.ForeignKey(Author)
    title = models.CharField(max_length=100)

>>> from django.forms.models import inlineformset_factory
>>> BookFormSet = inlineformset_factory(Author, Book)
>>> author = Author.objects.get(name=u'Mike Royko')
>>> formset = BookFormSet(instance=author)

Если вы используете django-admin,Вы можете отобразить эти inline с помощью javascript, чтобы добавить новую запись, используя InlineModelAdmin либо с накоплением, либо в табличной форме.

...