के लिए दो रिवर्स रिश्ते बनाता है यह मेरा मॉडल है:एक रिश्ता एक Django सार कक्षा का उपयोग कर बनाया जा रहा है और उस वर्ग इनहेरिट किसी कारण
class Post(models.Model):
owner = models.ForeignKey(User, related_name="%(app_label)s%(class)s_set")
post = models.CharField(max_length=400)
class Meta:
abstract = True
class DS(Post):
location = models.ForeignKey(Location, blank=True, null=True, related_name="%(app_label)s%(class)s_set")
class Meta(Post.Meta):
abstract = True
class S(DS):
# same as DS
pass
अब, जब मैं अजगर खोल खुल जाएगा और ऐसा करते हैं:
a = User.objects.get(username='a')
dir(a)
तब इन दोनों दिखाई देते हैं:
['myapps_set', 's_set']
और मुझे क्या करना है जब:
a.s_set.all()
यह एक S
वस्तु देता है, लेकिन जब जब मैं कार्य करें:
a.myapps_set.all()
यह तीन S
वस्तुओं रिटर्न (प्रथम S
वस्तु यह रिटर्न वही जो वापस आ गया था जब मैं a.s_set.all()
करते हैं। मेरे दो प्रश्न हैं,
1) जब भी मैंने विशेष रूप से owner = models.ForeignKey(User, related_name="%(app_label)s%(class)s_set")
किया, तो s_set
उपयोगकर्ता ऑब्जेक्ट के साथ उपयोग करने में सक्षम है?
2) कि वे किस तरह की वस्तुओं के दो अलग सेट लौट आते हैं (यानी कैसे myapps_set.all()
रिटर्न 3 (सही जवाब आते हैं) जबकि s_set.all()
केवल रिटर्न एक?
django का कौन सा संस्करण ..? – Satyajeet
@ सट्टाजीत Django 1.8 – user2719875