如何从多个表中执行select_related

时间:2018-06-11 05:53:56

标签: django python-3.x django-models django-queryset django-select-related

我以这种方式连接了3个模型:

class book(models.Model):
    id = models.AutoField(primary_key=True)
    publisher= models.ForeignKey(Publisher, related_name='publisher')
class reader(models.Model):
    publisher= models.ForeignKey(Publisher)
class publisher(models.Model):
    date = models.DateTimeField()

我试图让所有读者了解具体书籍。 我试过:Reader.objects.select_related(publisher__id='some_id') 昂得错了:Unable to get repr for <class 'django.db.models.query.QuerySet'> 我无法改变这个模型,我可以用这些模型获得这些信息吗? 感谢。

1 个答案:

答案 0 :(得分:0)

我认为你应该使用filter而不是select_related,如下所示:

publishers = Publisher.objects.filter(book_id=<your_book_id>)

Reader.objects.filter(publisher__in=publishers)