Проблема заключается в том, чтобы встроенные модели имели некоторые из своих полей, предварительно выбранных в соответствии с другой моделью.Форма администратора django с предопределенными строками
Давайте сделаем пример:
class Document(models.Model):
DOC_TYPES = ((DC1, 'Doc type 1'), (DC2, 'Doc type 2'))
doctype = model.CharField(choices=DOC_TYPES, default=DC1)
class OptionCategory(models.Model):
name = model.CharField()
class Option(models.Model):
document = models.ForeignKey(Document)
option_category = models.ForeignKey(OptionCategory)
some_data = models.CharField()
Предположим, что параметр определяется встроенный в модели документа администратора.
OptionCategory
необходим - они могут быть добавлены администратором. Я хотел бы иметь форму создания для Документа с таким количеством моделей параметров в встроенных формах, как есть категории опций. Этого можно добиться легко, используя дополнительные функции в модели Option
. Возникают следующие вопросы:
- Как представить встроенные поля с каждой выбранной опцией?
- Как изменить параметры динамически (исходя из
Document.doctype
после добавления подобного поля doctype вOptionCategory
) - желательно с ajax?
Я не совсем но вы можете достичь желаемого поведения, используя [get_formsets_with_inlines] (https: // doc s.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_formsets_with_inlines) метод – esauro
Где OptionType? Пожалуйста, сделайте реальный пример – vadimchin
'OptionType' ==' OptionCategory'? – FallenAngel