В моем тестовом проекте есть модели, поля которых имеют внешние ключи. Однако я столкнулся с проблемой составления простейшего queryset с использованием JOIN через Django ORM. Я уже неделю пытаюсь разобраться с этим, и даже спрашивал здесь и на других ресурсах, но внятного ответа не получил. Частично находил решения через filter/extra, но это не работало везде где мне нужно.
В очередной раз гуглив я столкнулся на похожий вопрос на Stackoverflow, где рекомендуют попробовать SA для выполнения запросов типа моего (а там всего-то select + join одного поля другой таблицы).
Стоит ли попробовать? Разумно ли это? В теории я знаю, что мне бы пришлось его рано или поздно освоить. Но на данном этапе пойдет?
Если что, у меня есть 2 модели:class Names(models.Model):
name = models.CharField(max_length=30)
class Meta:
managed = False
db_table = 'names'
ordering = ['pk']
class People(models.Model):
name = models.ForeignKey(Names, blank=True, null=True)
class Meta:
managed = False
db_table = 'people'
ordering = ['pk']
И мне нужно вывести имя из Names People.
Частичка SQL для модели People:INDEX `FK_people_names` (`name_id`),
CONSTRAINT `FK_people_names` FOREIGN KEY (`name_id`) REFERENCES `names` (`id`)
P.S. Я давно бы написал чистые SQL-запросы, но почему-то мне хочется сделать это именно с ORM.