Все,
Я пытаюсь инициализировать набор модели с множеством полей.Загвоздка в том, что я заранее не знаю ни имени поля многоборья (ни класса, с которым оно связано).
Вот мои модели и формы:
class Book_model(models.Model):
title = models.CharField(max_length=BIG_STRING)
authors = models.ManyToManyField("Author_model",)
class Author_model(models.Model):
name = models.CharField(max_length=BIG_STRING)
class Book_form(ModelForm):
class Meta:
model = Book_model
class Author_form(ModelForm:
class Meta:
model = Author_model
Author_formset = modelformset_factory(Author_model,form=Author_form)
И еще где-то вмой код, который я пытаюсь отобразить Model_form вместе с Author_formset.Когда приходит время инициализировать этот набор форм, я не уверен, что делать.В этот момент я знаю имя поля m2m («авторы»), экземпляр родительской модели (Book_model), экземпляр родительской формы (Book_form) и класс formset (Author_formset).Я предполагаю, что мне просто нужно сделать что-то вроде этого:
m2m_field = getattr(book,"authors")
qset = field.filter(<only authors for which there is a m2m relationship from this book>)
formset = Author_formset(queryset=qset)
Но я не знаю правильных терминов для включения в фильтр.
Есть предложения?