2011-11-12 4 views
7

Django : 역방향 ForeignKey의 이름 정의

class Foo(models.Model): 
    foo_field = ... 

class Bar(models.Model): 
    foo = models.ForeignKey(Foo) 
    bar_field = ... 

다음과 같이 Foo와 관련된 모든 Bar 인스턴스에 액세스 할 수 있습니다.

Foo.bar_set.all() 

ManyToManyField와 같이 '역 이름'을 변경하는 방법이 있습니까? 쓸 수 있습니다 :

Foo.bars.all() 

?

답변

15

예, 사용 중 related_name

+0

감사합니다. – Don

+2

... personnaly이 솔루션을 권하고 싶지 않습니다. 이름에 역방향 FK가없는 이름이 있지만 나머지 FK는 그대로 남았습니까? 약간 일관성이 없습니다. 나중에'bars' 컬럼을 추가하면 어떻게됩니까? 또는 'self.bar_set.all()'을 반환하는 @property'bars'를 추가하는 것이 낫지 않습니까? – yedpodtrzitko