Fixed correct and separate handling of database model bases as compared to its proxy classes using different managers for each type (e.g. ObjectDB.objects.all() will return all ObjectDB instances(including proxy instances) whereas Object.objects.all() will only return Objects)
This commit is contained in:
parent
554d1b9834
commit
2ee9e62336
15 changed files with 105 additions and 79 deletions
|
|
@ -4,7 +4,8 @@ These managers handles the
|
|||
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
from src.typeclasses.managers import TypedObjectManager, returns_typeclass_list, returns_typeclass
|
||||
from src.typeclasses.managers import (TypedObjectManager, TypeclassManager,
|
||||
returns_typeclass_list, returns_typeclass)
|
||||
|
||||
_GA = object.__getattribute__
|
||||
_PlayerDB = None
|
||||
|
|
@ -251,7 +252,7 @@ class MsgManager(models.Manager):
|
|||
# Channel manager
|
||||
#
|
||||
|
||||
class ChannelManager(TypedObjectManager):
|
||||
class ChannelDBManager(TypedObjectManager):
|
||||
"""
|
||||
This ChannelManager implements methods for searching
|
||||
and manipulating Channels directly from the database.
|
||||
|
|
@ -373,6 +374,9 @@ class ChannelManager(TypedObjectManager):
|
|||
for a in channel.aliases.all()]]
|
||||
return channels
|
||||
|
||||
class ChannelManager(ChannelDBManager, TypeclassManager):
|
||||
pass
|
||||
|
||||
|
||||
#
|
||||
# PlayerChannelConnection manager
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue