У меня есть Q & A Тип сайта построен в Django со следующими моделями:Django: реализация JOIN с использованием Django ORM?
class Question(models.Model):
title = models.CharField(max_length=70)
details = models.TextField()
class Answer(models.Model):
question_id = IntegerField()
details = models.TextField()
Мне нужно отобразить конкретный вопрос вместе со своими ответами. Обычно мне нужно 2 запроса:
Question.objects.get(id=1)
Answer.objects.get(question_id=1)[:10]
Я надеюсь получить все, используя один запрос. В MySQL это будет:
SELECT *
FROM Question JOIN Answer ON Question.id=Answer.question_id
WHERE Question.id=1
LIMIT 10
Есть ли все-таки я мог бы сделать это через ORM Django? Может ли extra()
помочь в этом случае?
Спасибо, что, если нам нужно имя внешнего ключа в связанной таблице, предположим, что таблица A связана с B и B связана с C. (все таблицы имеют только «имя» и «id»). мы хотим, чтобы каждая запись отображаемой стороны была связана с связанным объектом таблицы C. –