У меня есть модель, похожая на следующую (упрощенную):
models.py
class Sample(models.Model):
name=models.CharField(max_length=200)
class Action(models.Model):
samples=models.ManyToManyField(Sample)
title=models.CharField(max_length=200)
description=models.TextField()
Теперь, если бы Action.samples
было бы ForeignKey
вместо ManyToManyField
, когда я отображал Action
как TabularInline
в Sample
в Django Admin, я бы получил несколько строк каждый из которых содержит красивую форму для редактирования или добавления другого Action
. Тем не мение; когда я отображаю выше, как встроенный, используя следующее:
class ActionInline(admin.TabularInline):
model=Action.samples.through
Я получаю поле выбора со списком всех доступных действий, а не изящную форму для создания нового Action
.
Мой вопрос на самом деле: как мне отобразить отношение ManyToMany в виде строки с формой для ввода информации, как описано?
В принципе это должно быть возможно, поскольку, с точки зрения Sample
, ситуация в обоих случаях идентична; Каждый Sample
имеет список Action
с независимо от того, является ли отношение ForeignKey
или ManyToManyRelation
. Также; На странице администрирования Sample
я никогда не хочу выбирать из существующих Action
s, только создавать новые или редактировать старые.