在Django的raw() Query中检索数据时没有这样的列错误



我有以下类在我的models.py

class Users(models.Model):
username = models.CharField('User Name', null=False, max_length = 50)
password = models.CharField('User Password', max_length=50)
def __str__(self):
return self.username
class Photo(models.Model):
name = models.CharField(max_length=100, default="Image")
id = models.AutoField(primary_key=True)
uploader = models.ForeignKey(Users, default=None, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Photo_History(models.Model):
image = models.ImageField(upload_to="media/results")
upload_time = models.DateTimeField(auto_now_add=True, blank=True)
photo_id = models.ForeignKey(Photo, null=True, blank=True, on_delete=models.CASCADE)

表结构如下,

对于用户类,

tbody> <<tr>12月约翰
用户名密码
abc123
123
123

通过Django文档,我发现Django添加了一个_id外键name.

因此,我能够通过将p.uploader更改为p.uploader_id来解决我的问题。一个奇怪的问题,但这就是Django模型的工作方式。

最后的查询是,

q = "select h.id, p.name, h.image, h.upload_time from firstApp_Photo_History h, firstApp_Photo p where p.uploader_id=%s;"

相关内容

  • 没有找到相关文章

最新更新