Django admin内联到父mod

2024-10-02 22:23:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个相关的模型。在django admin中,我想创建Appeal。在

从模型中可以看出,我需要从Assignment列表中进行选择,但在我的例子中,它通常需要从头开始创建。如果我单击“+”Django admin将提供此选项

然后,在Assigment中,我需要选择ClientProfile,但在大多数情况下,我需要再次创建它,这意味着我将单击“+”

但从我的模型中可以看出,ClientProfile指的是用户,而且更多的时候,它还需要重新创建,所以再次按“+”

在这种情况下最可怕的是用户引用地址模型。在

问题是,有没有可能做一些事情,使你不必按3-5次键“+”?每次按的时候都有开场白,不太方便。在

我在考虑表单或模型本身的继承,创建几个抽象模型,我还考虑了WizardView,我无法将其集成到Django管理中。在

我很困惑,不知道该怎么做。在

问题是我错误地构建了模型架构? 我不想说这是真的,我喜欢这些模型之间的联系。在

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)
    ...

Tags: django用户模型truebaseadminaddressmodels