что у меня есть эти модели: получение значения внешнего ключа без извлечения всего объекта?
class Parent(models.Model):
slug = models.SlugField()
class Child(models.Model):
slug = models.SlugField()
parent = models.ForeignKey('Parent')
Я хочу создать dict
:
{x.parent.pk : x.slug for x in Child.objects.all()}
этот код создает отдельный запрос к базе данных для каждой итерации. просто чтобы получить объект
Parent
, просто чтобы получить его первичный ключ. который находится прямо в объекте
Child
для начала! Мне ничего не нужно от родителя, только его первичного ключа. Как получить значение базового внешнего ключа?
(да, я знаю, что я могу использовать select_related()
, чтобы избавиться от этих дополнительных запросов, но мой вопрос не об этом.)
спасибо!
Я пробовал это, он работает :), как я уже отмечал в своем вопросе, мне интересно узнать, есть ли способ получить ключ из таблицы «Дети» без присоединения к родительской таблице. – akonsu
@akonsu: см. Править –