我想在MySQL表中注册的帐户下更新现有信息。
有没有一种方法可以在同一个模板文件中动态创建问题,并且像在PHP中一样在Django中仍然是唯一的数据库查询?
因为据我所知,它似乎只在需要呈现自己的模板/html文件才能进行查询的表单中工作。

最佳答案

实际上,您可以在Django中进行查询,而无需呈现任何模板。
对于需要进行模板呈现的Django查询,您所说的仅在某些上下文中是正确的。Django querysets are lazy,这意味着它们不会在需要之前运行。这意味着,如果创建这样的查询:

Person.objects.all()

它只有在某些字段需要时才会执行。如果将上一个查询传递到名为people的模板,然后按如下方式迭代:
{% for person in people %}
    {{ person.age }}
{% endfor %}

查询仅在呈现模板时执行。
对于其他类型的查询,例如:
person_count = Person.objects.count()
Person.objects.filter(age=39).update(age=40)

这些查询以SELECT COUNT(*)执行,并立即更新到数据库中。

关于php - 在Django中,可以进行数据库查询而不必在 View 中呈现模板吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32663298/

10-12 00:14
查看更多