Как я могу создавать/обрабатывать динамические формы на основе пользовательского выбора content_type?Django - динамические формы для GenericForeignKey
Я пишу вид/шаблон для добавления объекта, который модель содержит общий ключ для других моделей:
class MainModel(models.Model):
title = models.CharField()
author = models.ForeignKey(User)
...
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
class FileModel(models.Model):
file = models.FileField()
content = generic.GenericRelation(MainModel)
class UrlModel(models.Model):
url = models.UrlField()
content = generic.GenericRelation(MainModel)
Я хотел бы дать пользователю одну страницу (для добавления объектов), где он/она может заполнить поля заголовка, автора, ... и выбрать content_type (выпадающий список) и заполнить поля выбранного content_type, например если выбран FileModel. Затем это должно быть отправлено на просмотр с помощью одной кнопки «отправить», где будут созданы правильные объекты выбранных типов content_type и MainModels. Я подумываю использовать некоторый ajax/jquery, чтобы «развернуть» начальную форму с полями из выбранного content_type, но приветствовал бы любые другие предложения о том, как это сделать правильно.