2014-07-09 3 views
0

간단한 일대 다 관계의 두 클래스가 있습니다.django 관리자의 역 외래 키 관계

models.py

class Bar(models.Model): 
    label = models.CharField(max_length=36) 

class Foo(models.Model): 
    bar = models.ForeignKey(Bar, null = True) 

admin.py

class BarAdmin(admin.modelAdmin): 
    ... 

내가 장고 관리자에서 "바"클래스를 편집하고, 나는 모든 푸 개체를보고 싶다 여러 줄 선택 HTML 태그에서. Foo와 Bar의 관계는 양식 유효성을 검사 할 때 업데이트되어야합니다.

어떻게하면됩니까? bar_id가 주 당신의 바 개체의 키 또는 당신이 푸가 선택 태그에 객체를 렌더링하려면 다른 방법

foo_set = Foo.objects.filter(bar__pk = bar_id) # Note the double underscore 

이 어디

답변

1

당신은

bar = Bar.objects.get(pk = bar_id) 
foo_set = bar.foo_set.all() 

사용하여 푸 인스턴스를 해결할 수 템플릿에서 수동으로 할 수도 있습니다.

<select> 
{% for f in foo_set %} 
<option value="{{ f.pk }}">{{ f }}</option> 
{% endfor %} 
</select> 

또는 장고 양식을 만들 수 있습니다 (django forms 참조).