【问题标题】:Not expected django query set response不是预期的 django 查询集响应
【发布时间】: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 是的,表信息 = 每行的值

标签: python python-3.x django django-templates django-queryset


【解决方案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
猜你喜欢
  • 1970-01-01
  • 2020-06-17
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2018-03-25
相关资源
最近更新 更多