相关疑难解决方法(0)

Django:使用Django ORM实现JOIN?

我有一个用Django构建的Q&A类型的网站,其中包含以下模型:

class Question(models.Model):
    title = models.CharField(max_length=70)
    details = models.TextField()

class Answer(models.Model):
    question_id = IntegerField()
    details = models.TextField()
Run Code Online (Sandbox Code Playgroud)

我需要显示一个特定的问题及其答案.通常我需要2个查询来做到这一点:

Question.objects.get(id=1)
Answer.objects.get(question_id=1)[:10]
Run Code Online (Sandbox Code Playgroud)

我希望使用一个查询检索所有内容.在MySQL中,它将是:

SELECT *
FROM Question JOIN Answer ON Question.id=Answer.question_id
WHERE Question.id=1
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

无论如何我可以通过Django的ORM来做到这一点吗?请问extra()在这种情况下帮助吗?

django join django-models django-orm django-queryset

18
推荐指数
3
解决办法
4万
查看次数