显示django admin中多个外键的信息

时间:2011-05-13 13:34:27

标签: django django-admin django-forms

我在从多个外键中提取信息并将该信息显示在django admin中时遇到了一些困难。我有四个模型:主题,研究,程序和事件。前三个是最后一个的外键。我希望每个信息都显示在admin for Event中:last_name,first_name,ssn,study_desc,procedure_desc和event_start_time其中last_name,first_name_和ssn位于Subject模型中,study_desc位于Study模型中,procedure_desc是位于Procedure模型中,event_start_time位于Event模型中。

到目前为止,我已经能够通过使用模型表单将主题模型和事件模型中的信息一起显示,但是我从其他两个模型获取其他信息以显示什么是不成功的我现在有了。任何建议,见解或替代方法将非常感激。我使用的表格如下。

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']

1 个答案:

答案 0 :(得分:0)

显示相关对象信息的一个选项是使用callable

这是在Django ModelAdmin的{​​{3}}文档中提到的。

同时在SO上查看list_display以获取一些详细的示例和讨论。