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

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -