Django - доступ к значению ForeignKey без попадания в базу данных - PullRequest
10 голосов
/ 02 ноября 2010

У меня есть модель django, например, так:

class Profile_Tag(models.Model):
    profile = models.ForeignKey(Profile)
    tag = models.ForeignKey(Tag)

и такое представление:

pts = Profile_Tag.objects.all()
for pt in pts:
    print pt.profile.id

есть ли способ получить доступ к профилю foreignKey, не обращаясь к базе данных каждый раз?Я не хочу запрашивать таблицу профилей.Я просто хочу получить идентификаторы из таблицы Profile_Tag.

1 Ответ

13 голосов
/ 02 ноября 2010

Вы можете сделать что-то вроде этого:

pt_ids = Profile_Tag.objects.values_list('profile', flat=True)

Это вернет вам список идентификаторов.Для модели есть другой способ:

pts = Profile_Tag.objects.all()
for pt in pts:
    print pt.profile_id
...