Джанго "более дианмические" формы
У меня есть вопрос о "более динамичных" формах джанго.
скажем, у меня есть веб-страница, которая представляет Учетную запись со списком пользователей, поэтому у каждой учетной записи будет 1 или более пользователей, есть некоторый код javascript для создания дополнительной строки, позволяющей вводить пользовательские данные.
я думаю, что это довольно распространенный вариант использования, но не уверен, как это сделать, или просто, я не должен беспокоиться об использовании форм django в этом случае?
Спасибо
1 ответ
Вы должны использовать форму для этого. В частности, вы можете использовать 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, вы можете отобразить эти строки с помощью javascript, чтобы добавить новую запись, используя InlineModelAdmin либо в виде с накоплением, либо в табличном виде.