【发布时间】:2018-06-09 13:02:44
【问题描述】:
如果我通过以下命令创建了QuerySet:
data = ModelA.objects.values('date').annotate(total=Sum('amount'), average=Avg('amount'))
# <QuerySet [{'date': datetime.datetime(2016, 7, 15, 0, 0, tzinfo=<UTC>), 'total': 19982.0, 'average': 333.03333333333336}, {'date': datetime.datetime(2016, 7, 15, 0, 30, tzinfo=<UTC>), 'total': 18389.0, 'average': 306.48333333333335}]>
是否可以使用data 从QuerySet 中的每个哈希创建ModelBobjects?
我意识到我可以迭代并解压缩 QuerySet 并这样做:
for q in data:
ModelB.objects.create(date=q['date'], total=q['total'], average=q['average'])
但是还有更优雅的方式吗?当它们几乎采用bulk_create 格式时,迭代和创建似乎是多余的。
【问题讨论】:
标签: python django django-queryset