Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 作者的出版商名单_Django_Django Models_Django Related Manager - Fatal编程技术网

Django 作者的出版商名单

Django 作者的出版商名单,django,django-models,django-related-manager,Django,Django Models,Django Related Manager,这是可行的,但是有没有一个Django成语可以做得更好呢 my_books = Book.objects.filter(author__name=='me') my_publishers = Publisher.objects.filter(pk__in=[b.publisher.id for b in my_books]) models = round_up_the_usual_suspects() class Publisher(models.Model): name = mod

这是可行的,但是有没有一个Django成语可以做得更好呢

my_books = Book.objects.filter(author__name=='me')
my_publishers = Publisher.objects.filter(pk__in=[b.publisher.id for b in my_books])

models = round_up_the_usual_suspects()

class Publisher(models.Model):
    name = models.CharField(max_length=30)


class Author(models.Model):
    name = models.CharField(max_length=30)


class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, related_name='books_authored')
    publisher = models.ForeignKey(Publisher, related_name='books_published')
你能行

my_publishers = Publisher.objects.filter(book__author__name='me')

这将为您提供由
me

撰写的书籍的所有出版商,通常您会从您想要结束的关系开始。所以@karthikrs的建议最有意义。