【发布时间】:2017-10-26 18:30:18
【问题描述】:
我有几个相关的模型。在 django admin 中我想创建Appeal。
从模型中可以看出,我需要从Assignment 列表中进行选择,但就我而言,大多数情况下,它需要从头开始创建。如果我点击“+”,Django 管理员会提供这个选项
然后,在Assigment中,我需要选择ClientProfile,但同样,在大多数情况下,我需要再次创建它,这意味着我将点击“+”
但是从我的模型可以看出,ClientProfile 指的是用户,而且更多的时候,它也需要重新创建,所以再次按下“+”
而在这种情况下最可怕的是User引用了Address的模型。
问题是,有没有可能做一些事情让你不必按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)
...
【问题讨论】:
标签: python django django-admin