Python Django,查询设置以查找多个字段中的计数

Python Django,查询设置以查找多个字段中的计数,python,django,Python,Django,我有下面的模型 class Blog(models.Model): name = models.CharField(max_length=100) class Author(models.Model): name = models.CharField(max_length=200) class Entry(models.Model): blog = models.ForeignKey(Blog, on_delete=models.CASCADE) head =

我有下面的模型

class Blog(models.Model):
    name = models.CharField(max_length=100)

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

class Entry(models.Model):
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
    head = models.CharField(max_length=255)
    authors = models.ManyToManyField(Author)

我觉得作者如何算数

假设我有一个Entry对象作为
Entryobject
Entryobject=Entry.objects.filter(blog\uu name='a')
),我尝试如下,但得到属性错误

Entryobject.authors.count() # got error here

另外,请告诉我如何在Entryobject中查询作者列表。

您可以这样查询作者列表:

Entryobject = Author.objects.all() or
Entryobject = Author.objects.values_list('name', flat=True)
关于flat=True我想介绍一下这位官员。基本上,它返回一个具有单个值而不是元组的查询集,例如:

>>> Entry.objects.values_list('id').order_by('id')
<QuerySet[(1,), (2,), (3,), ...]>

>>> Entry.objects.values_list('id', flat=True).order_by('id')
<QuerySet [1, 2, 3, ...]>

它应该是Entryobject=Entry.objects.filter(Blog_uuname='a'),并带有大写的B,不是吗?是的,这是Entry对象
Entryobject = Entry.objects.filter(Blog__name='a')