Откуда берется 'article_set' в Django?

В настоящее время я работаю над приложением Django/Pinax (я уверен, что мой вопрос не относится к Pinax, поэтому Pinax не упоминается в названии темы), и я пытаюсь выяснить, как работает вся структура. Прямо сейчас я должен написать представление для передачи данных в шаблон. Я видел это только в руководстве по django: в руководстве ObjectName.objects.all() просто передается в render_to_response(). Моя задача несколько сложнее, поэтому я попытался понять, как она выполняется в "профилях" приложения pinax, и полностью провалилась.

Так, profile.html Файл шаблона имеет следующую строку:

{% for article in other_user.article_set.all %}

"other_user" - это экземпляр класса "User", переданный в render_to_response () в views.py. Хорошо, но article_set не является переменной класса. Я не смог найти описание article_set где-либо в коде приложения, но обнаружил больше случаев появления чего-то похожего на ту же форму вызова:

{% for bookmark_instance in other_user.saved_bookmarks.all.select_related %}

Поиск в Django docs привел только к этой странице, не говоря точно, что такое "article_set".

Что такое article_set? Где это определено и как это работает? Любые ответы или просто ссылки на документацию настоятельно приветствуются. Спасибо.

2 ответа

Решение

Это искусственное поле, созданное ForeignKey или же ManyToManyField от Article модель.

Другие вопросы по тегам