不是预期的 django 查询集响应
Posted
技术标签:
【中文标题】不是预期的 django 查询集响应【英文标题】:Not expected django query set response 【发布时间】:2021-04-24 04:44:36 【问题描述】:我正在使用 django 进行查询集以列出一些课程。问题是当我在 django shell 中进行查询时,它返回如下内容:
如何才能获取表格信息?
PSD:我完全按照我的描述使用 users 表创建了一个查询集,我得到了预期的结果。但它无法在模板中显示结果。因此,如果您能提供帮助...提前感谢您的帮助。
class ListCursos( TemplateView):
model1 = User
model2 = Course
template_name = 'plantillas/miscursos.html'
def get_context_data(self, *args, **kwargs):
context = super(ListCursos, self).get_context_data(**kwargs)
context['usuarios'] = User.objects.all()
context['cursos'] = Course.objects.all()
return context
【问题讨论】:
表格信息是什么意思?每行的值? @Countour-Integral 是的,表信息 = 每行的值 【参考方案1】:模型每个实例的列值都存储为实例变量。您还没有提供您的模型之一的定义,所以我将以此为例。
class Course(models.Model): # example model
name = models.CharField(max_length=10)
students = models.IntegerField()
当您有 Course
模型的查询集时,您可以通过索引访问它们
>>> all_courses = Course.objects.all()
<QuerySet [<Course: Course object (1)>]>
>>> first_course = all_courses[0]
要访问选定的Course
模型实例的值,您只需键入类定义中列的名称。例如,如果您有具有姓名历史记录的 Course
模型和 10 个学生,那么
>>> first_course.name # just type the name of the column
'history'
>>> first_course.students
10
所以要在 django 模板中访问它们,考虑到您在上下文中传递 Course.objects.all()
和 "cursos"
键。 (就像你正在做的那样)
% for course in cursos %
<div>course.name</div>
<div>course.students</div>
% endfor %
【讨论】:
效果很好。谢谢@Countour-Integral以上是关于不是预期的 django 查询集响应的主要内容,如果未能解决你的问题,请参考以下文章