2013-12-11 40 views
0

Django的濾波結果以我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

應該是這樣的。

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