2011-11-12 15 views
7

के लिए नाम निर्धारित:Django: मैं दो मॉडल है रिवर्स ForeignKey

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

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

और मैं के साथ एक फू से संबंधित सभी बार उदाहरणों का उपयोग कर सकते हैं:

Foo.bar_set.all() 

वहाँ बदलने के लिए एक रास्ता है 'रिवर्स नाम', जैसे कि कई टोमनीफिल्ड में, ताकि मैं लिख सकूं:

Foo.bars.all() 

?

उत्तर

15

हाँ, का उपयोग कर related_name

+0

धन्यवाद, मैं बस इसे भूल गया! – Don

+2

... personnaly मैं इस समाधान की सिफारिश नहीं करता। आपके नाम पर एक रिवर्स एफके डब्ल्यू/ओ '_set' का नाम होगा लेकिन अन्य एफके बरकरार रहेगा? यह थोड़ा असंगत है। क्या होता है जब आप बाद में 'बार' नामक कॉलम जोड़ते हैं? या @property 'बार' जोड़ने के लिए बेहतर नहीं होगा जो 'self.bar_set.all()' देता है? – yedpodtrzitko

संबंधित मुद्दे