首页 > 解决方案 > 可以在 django 的 db 中保存查询集吗?

问题描述

我需要保存此查询的结果: foo = WordCount.objects.filter(lesson__course=course).values('lesson__course', 'word').annotate(totWords=Sum('count'))

这会产生一个由“word”、“course”和“totWords”组成的查询集

我有一个包含这些字段的模型,我需要将 foo 保存在其中。

只有使用 for 循环才有可能,还是有一种聪明的方法?

标签: pythondjangopostgresql

解决方案


就在这里。

假设你有一个Foodjango 模型,带有wordcourse字段totWords

你可以这样做:

queryset = WordCount.objects.filter(lesson__course=course).values('lesson__course', 'word').annotate(totWords=Sum('count')))
foo_list = Foo.objects.bulk_create(map(lambda el: Foo(**el), queryset))

推荐阅读