python - Annotate with intermediate model in Django -
i have 2 models group , user.
class user(models.model): name = models.charfield(max_length=50) class group(models.model): users = models.manytomanyfield(user)
a user can in multiple groups , group can have multiple users have made manytomanyfield in group.
i have made intermediate model store date when user added group
class user(models.model): name = models.charfield(max_length=50) class group(models.model): users = models.manytomanyfield(user, through='groupuser') class groupuser(models.model): user = models.foreignkey(user) group = models.foreignkey(group)
it works should.
but have userlistview in want annotate number of groups each user belongs to.
i have overriden get_queryset in listview
def get_queryset(self): return super(userlistview, self).get_queryset().annotate(num_groups=count(?))
but don't know how count correctly.
i believe should work:
def get_queryset(self): return super(userlistview, self).get_queryset().annotate(num_groups=count('groupuser'))
Comments
Post a Comment