无法让 Django 视图按类别(外键属性)过滤 objects
can't get django views to filter objects by category (foreignkey attribute)
所以,我有这个 class 并且想根据类别(这是一个外键)过滤测验列表。我希望视图仅分别显示每个类别的测验,例如 'History'、'Chemistry' 等等。
class QuizListView(generic.ListView):
#model = Quiz
queryset = Quiz.objects.filter(Category='History')
型号:
class Quiz(models.Model):
title = models.CharField(
verbose_name=_("Titulli"),
max_length=60, blank=False)
description = models.TextField(
verbose_name=_("Përshkrimi"),
blank=True, help_text=_("a description of the quiz"))
url = models.SlugField(
max_length=60, blank=False,
help_text=_("a user friendly url"),
verbose_name=_("user friendly url"))
category = models.ForeignKey(
Category, null=True, blank=True,
verbose_name=_("Kategoria"), on_delete=models.CASCADE)
类别class:
class Category(models.Model):
category = models.CharField(
verbose_name=_("Category"),
max_length=250, blank=True,
unique=True, null=True)
objects = CategoryManager()
class Meta:
verbose_name = _("Kategori")
verbose_name_plural = _("Kategoritë")
def __str__(self):
return self.category
这是终端上的错误:
无法将关键字 'quiz_category' 解析为字段。选项有:answers_at_end、类别
y, category_id, data_postimit, 描述, 草稿, exam_paper, fail_text, id, max_questions, pass_mark, 问题, random_o
顺序,single_attempt,坐着,success_text,标题,url
尝试了其他方法,但似乎无法弄清楚,非常感谢任何帮助
category
指的是一个Category
对象,如果要过滤相关category
对象的category
字段的值,就用双下划线(__
),所以:
class QuizListView(generic.ListView):
model = Quiz
queryset = Quiz.objects.filter(<b>category__category='History'</b>)
所以,我有这个 class 并且想根据类别(这是一个外键)过滤测验列表。我希望视图仅分别显示每个类别的测验,例如 'History'、'Chemistry' 等等。
class QuizListView(generic.ListView):
#model = Quiz
queryset = Quiz.objects.filter(Category='History')
型号:
class Quiz(models.Model):
title = models.CharField(
verbose_name=_("Titulli"),
max_length=60, blank=False)
description = models.TextField(
verbose_name=_("Përshkrimi"),
blank=True, help_text=_("a description of the quiz"))
url = models.SlugField(
max_length=60, blank=False,
help_text=_("a user friendly url"),
verbose_name=_("user friendly url"))
category = models.ForeignKey(
Category, null=True, blank=True,
verbose_name=_("Kategoria"), on_delete=models.CASCADE)
类别class:
class Category(models.Model):
category = models.CharField(
verbose_name=_("Category"),
max_length=250, blank=True,
unique=True, null=True)
objects = CategoryManager()
class Meta:
verbose_name = _("Kategori")
verbose_name_plural = _("Kategoritë")
def __str__(self):
return self.category
这是终端上的错误:
无法将关键字 'quiz_category' 解析为字段。选项有:answers_at_end、类别 y, category_id, data_postimit, 描述, 草稿, exam_paper, fail_text, id, max_questions, pass_mark, 问题, random_o 顺序,single_attempt,坐着,success_text,标题,url
尝试了其他方法,但似乎无法弄清楚,非常感谢任何帮助
category
指的是一个Category
对象,如果要过滤相关category
对象的category
字段的值,就用双下划线(__
),所以:
class QuizListView(generic.ListView):
model = Quiz
queryset = Quiz.objects.filter(<b>category__category='History'</b>)