Откуда берется "article_set" в Django? - PullRequest
1 голос
/ 21 февраля 2010

Я сейчас работаю над приложением 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 привел только к этой странице, не говоря точно, что такое "article_set".

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

Ответы [ 2 ]

3 голосов
/ 21 февраля 2010
1 голос
/ 21 февраля 2010

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

...