django-sharding icon indicating copy to clipboard operation
django-sharding copied to clipboard

Multiple managers for model

Open M1ha-Shvn opened this issue 6 years ago • 1 comments

Hi. I've had a problem creating multiple managers for single model:

from django_sharding_library.manager import ShardManager
from django.db.models import Model

class ManagerA(ShardManager):
    pass

class ManagerB(ShardManager):
    pass

class MyModel(Model):
    class Meta:
        app_label = 'api'

    manager_a = ManagerA()
    manager_b = ManagerB()

print(type(MyModel.manager_a), type(MyModel.manager_b))
# prints: <class 'ManagerA'> <class 'ManagerA'>

After a long research, I've found out that the reason is here. Setting name to None or setting different names for my managers resolve the problem. So, my question is - what is the reason you customize manager's name?

M1ha-Shvn avatar Aug 17 '18 10:08 M1ha-Shvn

I didn't do that, to be honest I was planning to remove that code in my next release. Maintaining that seems like a lot of overhead.

JBKahn avatar Aug 18 '18 03:08 JBKahn