[英]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.