Django 模型过滤查询不识别字段
Django models filter query not recognising field
我正在做一个 Django 项目,过滤器查询功能没有按预期工作
我导入了模型,做了迁移
我不明白代码哪里错了,无法识别该字段(评分)
我创建的模型
class Problem(models.Model):
contestID = models.IntegerField()
index = models.CharField(max_length=5)
name = models.CharField(max_length=50)
rating = models.IntegerField(default=0)
link = models.URLField(max_length=200)
tags = models.ManyToManyField(Tag,blank=True,related_name="Problme")
我在视图中的代码:(object.all() 工作正常但过滤器不工作)
def fetchProblems(min = 0, max = 5000, filter = False):
if not filter:
problemSet = Problem.objects.all().values()
else:
problems = Problem.objects.filter(rating < max,rating > min)
return problemSet
我的错误:(未定义评级)(基本上我尝试了所有显示未定义的字段)
NameError: name 'rating' is not defined
感谢您的帮助
正确的语法是
.filter(rating__gt=min)
您可以在 https://docs.djangoproject.com/en/3.2/topics/db/queries/#field-lookups
找到有关各种查找类型(用双下划线分隔)的更多信息
我正在做一个 Django 项目,过滤器查询功能没有按预期工作
我导入了模型,做了迁移 我不明白代码哪里错了,无法识别该字段(评分)
我创建的模型
class Problem(models.Model):
contestID = models.IntegerField()
index = models.CharField(max_length=5)
name = models.CharField(max_length=50)
rating = models.IntegerField(default=0)
link = models.URLField(max_length=200)
tags = models.ManyToManyField(Tag,blank=True,related_name="Problme")
我在视图中的代码:(object.all() 工作正常但过滤器不工作)
def fetchProblems(min = 0, max = 5000, filter = False):
if not filter:
problemSet = Problem.objects.all().values()
else:
problems = Problem.objects.filter(rating < max,rating > min)
return problemSet
我的错误:(未定义评级)(基本上我尝试了所有显示未定义的字段)
NameError: name 'rating' is not defined
感谢您的帮助
正确的语法是
.filter(rating__gt=min)
您可以在 https://docs.djangoproject.com/en/3.2/topics/db/queries/#field-lookups
找到有关各种查找类型(用双下划线分隔)的更多信息