ドキュメントで答えを見つけようとした後、私を悩ませてきた重要ではない質問は役に立ちませんでした。
class Book(models.Model)
authors = ManyToManyField(Author)
homer = Author.objects.get(pk=1)
iliad = Book.objects.get(pk=2)
iliad.authors.filter(pk=homer.pk).exists()
Book.objects.filter(name='Iliad', authors__in=homer).exists()
最後の2つの主張は、ホーマーがイリアスの作者であるかどうかをテストすると思います。しかし、私は(pk = homer.pk)の部分が嫌いで、クエリセットにオブジェクトが存在するかどうかをテストできる構造があるかどうか疑問に思っていますか?
(homer in iliad.authors)
上記の式も機能する可能性があり、おそらくよりPython的ですが、DBから不必要に多くの作成者を取得する可能性があります。