Extending two related queries on same model in Django -


consider django model forms connection between 2 other model instances:

class user(models.model):     pass  class meeting(models.model):     user_a = models.foreignkey(user, related_name='a_meetings')     user_b = models.foreignkey(user, related_name='b_meetings') 

now suppose want define function returns of users meetings, regardless of if side a or b. naive implementation be:

class user(models.model):     @property     def meetings(self):         return list(self.a_meetings.all()) + list(self.b_meetings.all()) 

what's 'right' way have function return matching queryset instead of list? bonus points elegant solution doesn't use ugly q query ;)

i think qs inevitable here.

the main principle these things start model want get: since want meetings, start there.

return meeting.objects.filter(q(user_a=self) | q(user_b=self)) 

Comments

Popular posts from this blog

matlab - "Contour not rendered for non-finite ZData" -

delphi - Indy UDP Read Contents of Adata -

qt - How to embed QML toolbar and menubar into QMainWindow -