如何向ValuesQuery添加字段

2024-10-01 22:41:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码。在

    pages = PagePromotion.objects.values('page_url').distinct().annotate(
        freq=Count('id'))

我的页面输出是。。在

^{pr2}$

以及

ipdb> FlatPage.objects.get(url=pages[0]['page_url']).id
1

但当我这么做的时候

pages[0]['id'] = FlatPage.objects.get(url=pages[0]['page_url']).id

它仍然给了我以前的结果

{'freq': 7, 'page_url': u'/'}

当我请求页面[0]时。有没有其他方法来扩展ValuesQueryset对象


Tags: 代码idurlgetobjectscountpage页面
2条回答

在转换ValuesQuerySet以列出我解决的问题后

pages = list(pages)

ipdb> pages[0]['hede'] = 2
ipdb> pages[0]
{'hede': 2, 'freq': 7, 'page_url': u'/'}

你也可以这样做:

for page in pages:
    page.update({'hede': 2})

这里的主要部分是更新它在页面ValuesQuerySet中将新属性'hede'设置为object。在

相关问题 更多 >

    热门问题