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:
Griatch 2014-12-22 08:54:53 +01:00
parent 554d1b9834
commit 2ee9e62336
15 changed files with 105 additions and 79 deletions

View file

@ -5,7 +5,8 @@ The managers for the custom Player object and permissions.
import datetime
from django.contrib.auth.models import UserManager
#from functools import update_wrapper
from src.typeclasses.managers import returns_typeclass_list, returns_typeclass, TypedObjectManager
from src.typeclasses.managers import (returns_typeclass_list, returns_typeclass,
TypedObjectManager, TypeclassManager)
#from src.utils import logger
__all__ = ("PlayerManager",)
@ -14,7 +15,7 @@ __all__ = ("PlayerManager",)
# Player Manager
#
class PlayerManager(TypedObjectManager, UserManager):
class PlayerDBManager(TypedObjectManager, UserManager):
"""
This PlayerManager implements methods for searching
and manipulating Players directly from the database.
@ -149,3 +150,6 @@ class PlayerManager(TypedObjectManager, UserManager):
if old_character and delete_old_character:
old_character.delete()
return True
class PlayerManager(PlayerDBManager, TypeclassManager):
pass