2011-05-05 20 views
0

我認爲這很簡單,但我是Django的新手,我找不到與我的任何問題匹配的問題。用Django的管理頁面上的對象替換'select new'和'select existing'

這裏是我的型號 -

class Team: 
    # attributes for team 

class Driver: 
    # attributes for driver 
    team = foreign_key(Team, blank=True, null=True) 

現在每個隊必須有三名司機,有的司機會不屬於任何一支球隊。在管理面板中,當我創建一個新團隊時,我只能獲得「添加新驅動程序」,並填寫驅動程序詳細信息。相反,我希望用系統中已存在的驅動程序的下拉框替代尚未擁有團隊的驅動程序。

我知道我必須在某個地方使用Driver.objects.filter(team__isnull = True)......但究竟是在哪裏阻止我。我閱讀了關於創建自己的表格,但不知道如何繼續。任何幫助表示讚賞。謝謝。

回答

0

我在想,以下將讓你實現你想要的。您可以使用它來限制附加到團隊的Driver對象的數量。

我還會確保在Driver save方法中檢查團隊中Driver對象的數量;這將確保如果您從Driver管理頁面將Driver對象添加到Team中(即創建一個Driver對象併爲其選擇一個Team對象),則不會有太多的Driver對象附加到Team上。

http://docs.djangoproject.com/en/1.3/ref/contrib/admin/#inlinemodeladmin-objects