Saturday, 15 February 2014

python - Django, retrieving database news items promoting a certain author -


मेरे पास एक डेटाबेस मॉडल है:

  class RssNewsItem (models.Model): Title = models.CharField (max_length = 512) विवरण = models.TextField () image_url = models.CharField (max_length = 512) प्रकाशित = models.DateTimeField (auto_now = True) url = models.CharField (max_length = 512, default = ' ') लेखक = मॉडल.कारफिल्ड (अधिकतम_लांबी = 128, डिफ़ॉल्ट =' ')   

मैं अपने विशिष्ट समाचार पत्रों और 7 आइटमों का चयन करके एक विशिष्ट लेखक को' प्रचार 'करना चाहता हूं अन्य लेखकों (10 समाचार-वस्तुओं की सूची बनाकर) और उन्हें -published द्वारा क्रमबद्ध करें सूची में प्रचारित समाचार-वस्तुओं की स्थिति अप्रासंगिक है। नंबर भी महत्वपूर्ण नहीं हैं यह होना चाहिए कि पदोन्नति वाली समाचार-वस्तुओं को 30% सूची में शामिल किया जाना चाहिए।

मान लीजिए कि मैं 'author1' को बढ़ावा देना चाहता हूं और मेरी वेबसाइट में कुल 6 लेखक हैं।

क्या यह Django के साथ संभव है? (मैं सूचियों या प्रश्नोत्तरी के माध्यम से दोबारा नहीं करना चाहूंगा)

<पूर्व> इटरटोल्ड आयात श्रृंखला से q1 = ऑर्डर-बी ("-प्रकाशित") [: 7] आरएसएस न्यू इटैम.ओबैजेस फेलटर (लेखक = "लेखक 1")। ऑर्डर-बी ("- प्रकाशित") [: 3] क्यू 2 = रुस न्यूइइटम.ओबैजेस। एक्सएम् (लेखक = "लेखक 1")। Q = सूची (श्रृंखला (q1, q2))

पी एस

  • यह तेज़ है लेकिन स्पष्ट रूप से इसका परिणाम एक सूची है और इसे आगे नहीं समझा जा सकता
  • आप सूचियों में परिवर्तित कर सकते हैं और जोड़ सकते हैं / बढ़ा सकते हैं: सूची (q1) .extend (list (q2)) । ऊपर और धीमे के समान समस्या
  • क्योंकि वे एक ही मॉडल हैं, आप ऐसा कर सकते हैं: q = q1 | Q2 उन्हें एक QuerySet के रूप में रखने के लिए

No comments:

Post a Comment