Django 多对多查询集
django many to many queryset
我有两个型号:
1-----
class Account(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True)
name = models.CharField(max_length=150)
phone = models.CharField(max_length=50)
picture = models.ImageField(blank=True, null=True , upload_to='profile' )
profession = models.ManyToManyField(Profession)
2-----
class Profession(models.Model):
profession = models.CharField(max_length=50)
我想展示我拥有的所有职业
同时我想显示他们拥有这个职业的账户数量
喜欢这张照片
enter image description here
您可以像这样注释每个职业名称:
Profession.objects.values('profession').annotate(num_accounts=Count('account'))
这会给你这样的输出:
<ProfessionQuerySet [{'profession': 'SomeProfessionA', 'num_accounts': 22}, {'profession': 'SomeProfessionB', 'num_accounts': 20}, ...>
我有两个型号:
1-----
class Account(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True)
name = models.CharField(max_length=150)
phone = models.CharField(max_length=50)
picture = models.ImageField(blank=True, null=True , upload_to='profile' )
profession = models.ManyToManyField(Profession)
2-----
class Profession(models.Model):
profession = models.CharField(max_length=50)
我想展示我拥有的所有职业 同时我想显示他们拥有这个职业的账户数量
喜欢这张照片 enter image description here
您可以像这样注释每个职业名称:
Profession.objects.values('profession').annotate(num_accounts=Count('account'))
这会给你这样的输出:
<ProfessionQuerySet [{'profession': 'SomeProfessionA', 'num_accounts': 22}, {'profession': 'SomeProfessionB', 'num_accounts': 20}, ...>