Djangoでは、ManyToManyFieldのCOUNTクエリを作成するにはどうすればよいですか?Django:ManyToManyFieldカウントのクエリ?
私のモデルは以下の通りです。名前がAで始まり、少なくとも1つのプレイスの大将または大将であるすべての人物を取得し、結果を名前で注文したいと考えています。
class Manor(models.Model):
lord = models.ManyToManyField(Person, null=True, related_name="lord")
overlord = models.ManyToManyField(Person, null=True, related_name="overlord")
class Person(models.Model):
name = models.CharField(max_length=100)
私のクエリは次のようになりますが、3行目はどのように構成しますか?
people = Person.objects.filter(
Q(name__istartswith='a'),
Q(lord.count > 0) | Q(overlord.count > 0) # pseudocode
).order_by('name'))
非常にスマート、ありがとう! – AP257