Как получить объект из связанной таблицы?

Рейтинг: 1Ответов: 1Опубликовано: 28.12.2014

Есть таблица с комментариями Comments, в которой есть поле ForeignKey (User) и есть таблица User2, содержащая расширенные сведения о пользователе и в которой есть поле ForeignKey (User).

Как для объекта из таблицы Comments получить дополнительные сведения о пользователе из таблицы User2?

Ответы

▲ 1Принят
users2 = comment.user.user2_set.all()
if users2.exists():
    user2 = users2[0]

Так как у вас User2 ссылается на User с помощью ForeignKey, то теоретически может оказаться, что юзер может иметь несколько User2 либо не иметь вовсе. Поэтому мы достаем их все, проверяем, есть ли они вообще, и берем первый попавшийся.