Как обновить значение в таблице, на которую ссылается внешний ключ в Django - PullRequest
0 голосов
/ 12 ноября 2011

У меня есть модель комментария, которая ссылается (внешний ключ) на модель поста, и в модели поста есть логическое поле, которое сообщает, есть ли у этого поста комментарий или нет.

  • То, что я хочу сделать, - это обновлять это логическое поле поста при каждом комментарии к этому посту, для этого то, что я должен сделать в представлении.

  • Также, когда я показываю все сообщения на странице, я хочу сначала показать те, которые не имеют комментариев, чтобы люди могли их комментировать.

Как я могу эффективно сделать следующие две вещи

1 Ответ

1 голос
/ 12 ноября 2011

Вы можете использовать comment_was_posted signal, чтобы обновить связанный Post, когда появится новый комментарий. Посмотрите эту ветку, чтобы получить общее представление: Уведомление Django о предоставлении комментариев

Хотя в этом случае может быть лучше создать метод count_comments() для вашей модели Post.

Чтобы упорядочить и отфильтровать свои сообщения по количеству комментариев для данного Post, проверьте Документы Джанго по агрегации или это сообщение в блоге: http://agiliq.com/blog/2009/08/django-aggregation-tutorial/

...