मैं स्टैक ओवरफ्लो पर इस सिंटैक्स में आता हूं

from itertools import chain 
result_list = list(chain(page_list, article_list, post_list))

मुझे इस तरह कुछ के साथ QuerySets का एक समूह जोड़ना होगा:

    prjExpList = list(chain(lvl for lvl in prjlvl))
    prjEnvList = list(chain(env for env in prjEnv))

यह मुझे त्रुटि देता है

AttributeError: 'QuerySet' object has no attribute '_meta'

मेरा लक्ष्य एक सूची prjlvl और prjEnv के अंदर संग्रहीत QuerySets का एक समूह जोड़ना है मैं उसको कैसे करू?

1
Jasmine Rain 7 जुलाई 2017, 22:23

2 जवाब

सबसे बढ़िया उत्तर

प्रयत्न:

prjExpList = list(chain.from_iterable(prjlvl))

ध्यान दें कि itertools.chain() पुनरावृत्तियों की एक *args सूची लेता है, और यह कि आप chain.from_iterable() वर्ग विधि से समान अनपैकिंग व्यवहार प्राप्त कर सकते हैं।

देखें: https://docs.python.org/2/library/ itertools.html#itertools.chain

-1
Frank T 7 जुलाई 2017, 22:39

क्या एक ही मॉडल के QuerySets हैं? आप बस कर सकते हैं

combined_queryset = queryset_1 | queryset_2 | queryset_3

उन्हें एक साथ एक क्वेरीसेट में श्रृंखलाबद्ध करने के लिए। इसका मतलब है कि आप अभी भी ओआरएम में क्वेरीसेट के साथ चीजें कर सकते हैं, जो एक बड़ी मदद है।

2
Kye R 8 जुलाई 2017, 10:52