簡體   English   中英

Django-重組查詢集不可迭代

[英]Django - Restructured queryset is not iterable

我有一個Django queryset。 我正在使用groupby來重組queryset:

content_items = ContentItem.objects.filter(content_group__row__page=page)

content_items看起來像這樣:

[<Faq: Faq object>, <Text: Text object>, <Faq: Faq object>, <Faq: Faq object>]

content_group屬性對content_items進行分組:

content_groups = {}
for group, items in groupby(content_items, lambda x: x.content_group):
    content_groups[group] = list(items)

content_groups看起來像這樣:

{<ContentGroup: 16>: [<Faq: Faq object>, <Faq: Faq object>], <ContentGroup: 17>: [<Text: Text object>], <ContentGroup: 18>: [<Faq: Faq object>]}

遍歷content_groups ...

for content_group in content_groups:
    for content_item in content_group:
        print content_item

...產生'ContentGroup' object is not iterable ,我看不到為什么。

content_groups字典 ,當您通過以下方式對其進行迭代時:

for content_group in content_groups:

content_group將對應於每個 ContentGroup實例。 而且,當您嘗試遍歷該錯誤時會遇到錯誤-Django模型實例不可迭代。

相反,您打算遍歷字典項

for content_group, faq_objects in content_groups.items():
    print(content_group)
    for faq_object in faq_objects:
         print(faq_object)
    print("----")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM