2011-05-13 85 views
0

我一直在從多個外鍵拉取信息並獲取該信息以顯示在django管理員中。我有四個模型:主題,研究,過程和事件。前三個是外鍵。我希望每個信息都顯示在admin的Event中,如:last_name,first_name,ssn,study_desc,procedure_desc和event_start_time,其中last_name,first_name_和ssn位於Subject模型中,study_desc位於Study模型中,procedure_desc是位於過程模型中,event_start_time位於事件模型中。在django admin中顯示來自多個外鍵的信息

到目前爲止,我已經能夠通過使用模型表單從主體模型和事件模型一起顯示信息,但是我一直未能從其他兩個模型中獲取附加信息以顯示我現在擁有的。任何建議,見解,或使用替代方法將不勝感激。我使用的形式如下。

class EventForm(ModelForm): 

    def __init__(self, *args, **kwargs): 
    super(EventForm, self).__init__(*args, **kwargs) 
    if self.instance: 
     self.fields['subject'].queryset = \ 
      Subject.objects.all().order_by('last_name') 

    class Meta: 
      model = Event 

class EventAdmin(admin.ModelAdmin): 
    form = EventForm 
    search_fields = ['subject__last_name','subject__first_name','subject__ssn'] 
    list_display = ['last_name','first_name','ssn','event_start_time'] 
+0

檢查此線程:http://stackoverflow.com/questions/163823/can-list-display-in-a-django-modeladmin-display-attributes-of-foreignkey-fields – arie 2011-05-13 14:38:29

+0

工作完美,比什麼好得多我正在嘗試。謝謝。 – JosephS 2011-05-13 15:45:08

+0

@arie:可能應該發佈該答案而不是評論。它解決了他的問題,你值得追查可接受的解決方案的功勞,然後問題被標記爲已回答。 – 2011-05-13 16:20:17

回答

0

顯示來自相關對象的信息的一個選項是使用callable

這是在Django的ModelAdminlist_display文檔中被提及的。

另請參閱SO上的this question以獲得一些詳細的示例和討論。

相關問題