Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:如何获取数据库调用中返回的元素数?_Django_Django Models_Django Templates_Size - Fatal编程技术网

Django:如何获取数据库调用中返回的元素数?

Django:如何获取数据库调用中返回的元素数?,django,django-models,django-templates,size,Django,Django Models,Django Templates,Size,在我看来,这似乎是一个非常简单的问题,但我似乎找不到答案 我所需要做的就是确定数据库查询返回的对象数 具体情况是:我有一个叫Student的模型。此模型有一个名为courses_current的ManyToManyField成员,该成员与课程模型表相关。当我将我的学生实例传递给模板时,我希望能够执行以下操作(语法可能不精确,但您将了解基本概念): {%if student.classes_current.all.size==0%} 嘿你没有参加任何课程!现在注册! {%else%} 以下是您的

在我看来,这似乎是一个非常简单的问题,但我似乎找不到答案

我所需要做的就是确定数据库查询返回的对象数

具体情况是:我有一个叫Student的模型。此模型有一个名为courses_current的ManyToManyField成员,该成员与课程模型表相关。当我将我的学生实例传递给模板时,我希望能够执行以下操作(语法可能不精确,但您将了解基本概念):


{%if student.classes_current.all.size==0%}
嘿你没有参加任何课程!现在注册!
{%else%}
以下是您的课程:
{%endif%}

现在,我相当确定
X_set.all.size
不是真的。在
manage.py
shell中,我可以只使用
len(student.classes\u current.all())
,但我不知道如何使用内置函数,而且“类似字典的对象”没有
.size()
函数,所以我不知所措。我确信有一个非常简单的解决方案(或者至少我希望有),但我似乎找不到它。

但请注意,它无法获取对象,因此如果要循环它们,您需要执行单独的查询

如果您需要在类上循环
for
标签有办法获得您需要的内容

{% for cl in student.current_classes.all %}
    {{ cl }}
{% empty %}
    <h1>Hey! ...</h1>
{% endfor %}
{student.current_classes.all%}
{{cl}}
{%empty%}
嘿
{%endfor%}

文件

Yeeeep。我知道事情就是这么简单。谢谢,是的,我已经知道了。我只是希望能够在列表为空的情况下打印适当的消息。谢谢你。
{% for cl in student.current_classes.all %}
    {{ cl }}
{% empty %}
    <h1>Hey! ...</h1>
{% endfor %}