这是我的models.py文件。
from django.db import models
from django.contrib.auth.models import User
class image(models.Model):
name = models.CharField(max_length = 200)
src = models.URLField()
alt = models.CharField(max_length = 200)
points = models.IntegerField(default = 0)
id = models.CharField(max_length = 200, primary_key = True)
hotelId = models.IntegerField()
def __unicode__(self):
return self.name
class imagescore(models.Model):
user = models.ForeignKey(User)
image_id = models.CharField(max_length = 200)
score = models.IntegerField(default = 1)
createdTime = models.DateTimeField(auto_now_add =True)
def __unicode__(self):
if self.score < 0:
status = " rejected "
else:
status = "approved"
return (self.user+ status+ image_id)
pass
我想将一个表格传递给我的模板,该表格是SQL查询的结果:
select ei.id,ei.src, ei.hotelId , sum(score) from eyeballing_image ei LEFT join eyeballing_imagescore eis on ei.id = eis.image_id where user_id = request.user.id and ei.hotelId = 56565 group by ei.id,ei.src, ei.hotelId
我的应用名称很吸引眼球。我尝试使用连接和过滤器我无法使其工作。
此外,我尝试将总和(得分)部分放入单独的字典中,并在模板中检查相同内容。没有工作
任何帮助将不胜感激。
答案 0 :(得分:0)
您的查询有两个问题,一个是列名hotelId
。您必须以这种方式在查询中使用它{。{1}}。
其他问题是条件ei."hotelId"
,因为你在sql中没有user_id = request.user.id
,你必须用一个值替换它。
request
中的另一个问题可能是return (self.user + status + image_id)
。