Django管理员内联父模型
问题描述:
我有几个相关的模型。在django管理员中,我想创建Appeal
。Django管理员内联父模型
从模型中可以看出,我需要从Assignment
列表中进行选择,但在我的情况下,最常见的情况是需要从头开始创建。 Django管理规定,如果我点击“+”
然后,Assigment
里面,我需要选择ClientProfile
,但同样,在大多数情况下,我需要重新创建它,这意味着我将点击此选项“+”
但是这可以从我的模型中可以看出,ClientProfile指的是用户,而更多的时候,它也需要重新建立,所以再次按下“+”
而且最可怕的事在这种情况下,用户指的是地址模型。
问题是,是否有可能做一些事情,使您不必按3-5次来“+”?每个媒体都伴随着开幕式的流行音乐,这不是很方便。
我在考虑形式或模型本身的继承,创建了几个抽象模型,我也考虑过WizardView,我无法集成到Django-admin中。
我很困惑,不明白怎么做才对。
问题是我错误地构建了模型架构? 我不会说这是如此,我喜欢这些模型是如何相关的。
class Appeal(Base):
...
assigment = models.ForeignKey(Assignment, null=True)
...
class Assignment(Base):
...
client = models.ForeignKey(ClientProfile, null=True)
...
address = models.ForeignKey(Address, null=True)
...
class ClientProfile(Base):
...
user = AutoOneToOneField(settings.AUTH_USER_MODEL, null=True)
...
@python_2_unicode_compatible
class User(AbstractUser):
...
phone_number = models.ManyToManyField(PhoneNumber)
...
address = models.ForeignKey(Address, null=True)
...
我当然知道Inline。但我需要相反的东西,我需要给孩子添加父母。在我表示要在第一个表格中创建一个条目的示例中,我需要点击5个加号,并填写5个表格。 我想尽量减少这种情况,无论是通过覆盖表单还是WizzardForms中的SessionView –