2017-05-26 144 views
0

我有幾個相關的模型。在django管理員中,我想創建AppealDjango管理員內聯父模型

從模型中可以看出,我需要從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) 
    ... 

回答

-1

它可以添加內聯到Django admin中的相關模型,可以從documentation中讀取。但是Django管理員並不總是可靠的,因此爲了滿足您的需求,最好擁有您自己設計的管理面板。

+0

我當然知道Inline。但我需要相反的東西,我需要給孩子添加父母。在我表示要在第一個表格中創建一個條目的示例中,我需要點擊5個加號,並填寫5個表格。 我想盡量減少這種情況,無論是通過覆蓋表單還是WizzardForms中的SessionView –