我遇到了一个非常奇怪的错误。我有一个运行此查询的django迁移:
venues = Venue.objects.annotate(num_activities=Count('activities'))\
.filter(num_activities=1, activities__activity__code="GOLF", timings=None)\
.all()
当数据库已经是最新的时,查询本身可以工作,但是当从头开始初始化数据库(从0001_initial运行所有迁移)时,我收到错误:
*** django.core.exceptions.FieldError:无法将关键字“活动”解析为字段。
因此迁移失败。但是如果我再次运行它,数据库现在处于部分迁移状态(即仅从0065 - > 0066),它就可以正常工作。
关于从头开始运行时为什么不起作用的任何想法? django迁移脚本中是否有错误?似乎是由于.annotate()
功能。