Tuesday, 15 January 2013

django models complex query -


मेरे पास 3 टेबल हैं, TextObj, User, SecurityCheck तीसरे तालिका एक विदेशी कुंजी विशेषता (textobj) TextObj संदर्भित है और वहाँ एक बहुत-से-अनेक क्षेत्र (sharedWith) SecurityCheck से उपयोगकर्ता के लिए

  वर्ग SecurityCheck (models.Model) है:। textobj = models.ForeignKey (TextObj) मालिक = models.CharField (MAX_LENGTH = 255) sharedWith = models.ManyToManyField (उपयोगकर्ता) डीईएफ़ __init __ (स्वयं, स्वामी, फ़ाइल नाम, requestingUsername): self.owner = मालिक self.textobj = TextObj.filter ( फ़ाइल नाम = फ़ाइल का नाम) self.sharedWith.add (User.objects.filter (उपयोगकर्ता नाम = requestingUsername))   

मैं एक प्रश्न जो जो एक विशेष उपयोगकर्ता है Textobj के सभी उदाहरणों को हासिल करेगा क्या करने की जरूरत sharedWith क्षेत्र और एक विशेष फ़ाइल नाम (जो TextObj की एक विशेषता है)

प्रश्नों

आप आसानी से कर सकते में उस अवधि (विपरीत) संबंध:

  TextObj.objects.filter (securitycheck__sharedWith = उपयोगकर्ता, फ़ाइल नाम = "foo")   

<पी> जेंजो एक शक्तिशाली और सहज ज्ञान युक्त तरीका प्रदान करता है? ?? लुकअप में रिश्तों, आपके लिए एसक्यूएल जोन का ध्यान स्वचालित रूप से, पर्दे के पीछे। एक रिश्ते अवधि के लिए, बस मॉडल भर में संबंधित क्षेत्रों, डबल अंडरस्कोर द्वारा अलग के क्षेत्र का नाम, का भी उपयोग करें जब तक आप क्षेत्र आप चाहते करने के लिए मिलता है।

यह पीछे की ओर काम करता है। किसी रिवर्स को संदर्भित करने के लिए रिश्ते, बस मॉडल के लोअरकेस नाम का उपयोग करें।

No comments:

Post a Comment