Я использую модуль django-address (https://pypi.org/project/django-address/) в моем проекте. Теперь я хочу добавить метод get_by_natural_key
в менеджер по умолчанию модели State
модуля django-address
.
До Django 1.10 я мог сделать это, используя этот код
class CustomManager(models.Manager):
def get_by_natural_key(self, state_name, country):
country = Country.objects.get_or_create(name=country)[0]
print(country)
return State.objects.get_or_create(name=state_name, country=country)[0]
State.add_to_class('objects', CustomManager())
State.add_to_class('_default_manager', CustomManager())
Но из Django1.10 _default_manager
доступен только для чтения, и я не уверен, как добавить метод get_by_natural_key в диспетчер модели по умолчанию.