Практический способ отображения виджета формы для отношения OneToMany в django. (Необходимо вложить поля нескольких моделей в одну автогенерируемую форму)
Допустим, у нас есть следующая псевдоструктура базы данных:
models.py
class Order(models.Model):
...
class OrderItem(models.Model):
order = models.ForeignKey(Order, on_delete=models.CASCADE)
...
Таким образом, каждый заказ может содержать один или несколько OrderItems.
По умолчанию, если я отображу форму по умолчанию для этих моделей, мы получим две отдельные формы, где пользователь должен будет сначала создать заказ в одной форме, а затем перейти к другой форме для OrderItem, чтобы начать создавать OrderItems для этого заказа.
Если только я не создам свою собственную форму с нуля (которая не интегрирована ни с какими моделями), а затем напишу код для связи ее с моделями данных на стороне сервера. Однако это очень распространенный случай использования, поэтому должен быть способ справиться с таким сценарием без необходимости перестраивать многое с нуля.
В Django уже есть ManyToManyField, который позволяет нам обрабатывать операции подобного рода, когда то, что пользователь видит в автогенерируемой форме, просто, но при этом подразумевает взаимодействие с несколькими моделями данных. Почему нет способа обработать такое представление данных в форме без необходимости делать так много с нуля?
Например, в Django Rest Framework мы можем использовать Nested Relationships для определения одного сериализатора модели как поля другого сериализатора модели. Но для моделей Django я не смог найти никакой документации по чему-либо подобному.