【发布时间】:2020-07-06 03:11:04
【问题描述】:
我有以下型号:
class Activity(models.Model):
user = models.ForeignKey(User, related_name='activities')
project = models.ForeignKey(Project, related_name='activities')
class Project(models.Model):
assignees = models.ManyToManyField(User, related_name='projects')
现在我想查询属于不在项目受让人中的用户的所有活动。
我的查询:
Activity.objects.exclude(project__assignees=F('user'))
问题是,我总是收到这个错误:
django.db.utils.OperationalError: (1054, "Unknown column 'U2.id' in 'on clause'")
我正在开发 django 2.2.11 和 MySQL。
我找到了几个old django bugs,但它们应该早就被修复了。
有什么想法可以解决我的问题吗?我的活动表很大,我需要一种有效的方法。我很乐意不使用原始查询。
谢谢!
【问题讨论】:
-
当我检查查询时,看起来它根本没有定义
U2表。但是我猜你可以用一个子查询来解决这个问题。
标签: mysql django django-orm