Django根据不同的模型过滤结果

时间:2013-12-11 06:08:16

标签: django django-queryset

在我的models.py

class Packages(models.Model):
      limit = models.PositiveIntegerField()
      ..

class SubscribedPackages(models.Model):
      package = models.ForeignKey(Packages)
      user = ..
      ..

在我的forms.py

package = forms.ModelChoiceField(queryset=Packages.objects.all(),...)

假设包1的限制为10,SubscribedPackages包含10个条目。那么forms.py中的查询应该只显示那些已经达到限制的包。

1 个答案:

答案 0 :(得分:1)

应该是这样的。

from django.db.models import Count
Packages.objects.annotate(subs=Count('subscripberpackage')).filter(subs__gt=10)
相关问题