В Django возможно ли выполнять запросы к базе данных без необходимости визуализации шаблона?

Я хочу обновить существующую информацию под учетной записью, зарегистрированной в таблице mysql.

Есть ли способ динамически создавать вопросы в пределах одного файла шаблона и при этом уникальных запросов к базе данных, как в PHP, но в Django?

Потому что, насколько мне известно, кажется, что он работает только через формы, которые требуют, чтобы их собственные шаблоны / html-файлы отображались до того, как могут быть выполнены запросы.

1

Решение

Фактически, вы можете делать запросы в Django без рендеринга каких-либо шаблонов.

То, что вы говорите о запросах Django, требующих рендеринга шаблона, верно только в некоторых контекстах. Наборы запросов Django ленивы, что означает, что они не бегут, прежде чем они необходимы. Это означает, что если вы создадите запрос, подобный этому:

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 (*) и UPDATE непосредственно в базе данных.

1

Другие решения

Я не поняла ваш вопрос ясно.

Если вы не хотите отображать шаблоны для запроса, вы можете просто отправить запрос javascript из одного из ваших шаблонов, выполнить обновление базы данных и просто вернуть JSON-ответ.

Или же

Если вы вообще не хотите использовать шаблоны / представления, вы можете использовать оболочку django и выполнить ваши запросы. вы можете получить доступ к оболочке с помощью этой команды

./manage.py shell
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector