【发布时间】:2021-10-29 22:52:20
【问题描述】:
我需要在我的表上进行内部联接,并且我需要将auth_user 表中的用户姓氏和名字添加到项目中。项目收集在另一个表 (Project) 中,该表连接到 Profile 模型,我使用该模型扩展了我的 User 模型。
但我使用的是 SqLite3,所以我编写了一个在 SqLite Viewer 中运行良好的查询:
SELECT last_name, first_name, projekt_id
FROM 'auth_user'
INNER JOIN stressz_profile ON
stressz_profile.user_id = auth_user.id
WHERE projekt_id=1
我对 Django 的查询是这样的:
resztvevok = Profile.objects.raw('SELECT username, projekt_id FROM auth_user AS resztvevok INNER JOIN stressz_profile ON stressz_profile.user_id = auth_user.id WHERE projekt_id=1')
但是当我刷新浏览器时,它会说:
no such column: auth_user.id
models.py
class Profile(models.Model):
def __str__(self):
return str(self.user)
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
projekt = models.ForeignKey(Projekt, on_delete=models.CASCADE, default=3)
...
【问题讨论】: