1
0
Fork 0
mirror of https://github.com/seanmorley15/AdventureLog.git synced 2025-07-19 12:59:36 +02:00
AdventureLog/backend/server/adventures/managers.py

18 lines
486 B
Python
Raw Permalink Normal View History

from django.db import models
from django.db.models import Q
class AdventureManager(models.Manager):
def retrieve_adventures(self, user, include_owned=False, include_shared=False, include_public=False):
query = Q()
if include_owned:
query |= Q(user_id=user)
if include_shared:
query |= Q(collections__shared_with=user)
if include_public:
query |= Q(is_public=True)
return self.filter(query).distinct()