django-sharding
django-sharding copied to clipboard
Multiple managers for model
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?
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.