2011-05-13 3 views
0

여러 개의 외래 키에서 정보를 가져와 장고 관리에 표시하는 데 어려움을 겪고 있습니다. 나는 주제, 연구, 절차 및 사건의 네 가지 모델을 가지고 있습니다. 처음 세 개는 마지막까지 외래 키입니다. 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은 이벤트 모델에 있습니다.장고 관리자의 여러 외래 키에서 정보 표시

지금까지 모델 모델을 사용하여 Subject 모델과 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'] 
+0

이 스레드 확인 : http://stackoverflow.com/questions/163823/can-list-display-in-a-django-modeladmin-display-attributes-of-foreignkey-fields – arie

+0

무엇보다 훨씬 효과적입니다. 나는 시도했다. 감사. – JosephS

+0

@arie : 아마 코멘트가 아닌 답변으로 게시 했어야합니다. 그것은 자신의 문제를 해결하고, 당신은 받아 들일 수있는 soluton을 추적하기위한 신용을받을 자격이 있습니다. 그러면 get은 대답으로 표시됩니다. –

답변

0

하나의 옵션은 callable을 사용하는 것입니다.

Django의 ModelAdmin에 대한 list_display 문서에서이 부분이 제외되었습니다.

자세한 예제 및 토론은 this question을 확인하십시오.