Более простым и более общим (но менее безопасным) решением было бы просто заменить django.contrib.auth.models.AnonymousUser
вашим собственным классом:
class YourAnonymousUser(...):
...
import django.contrib.auth.models as django_auth_models
django_auth_models.AnonymousUser = YourAnonymousUser
Начиная с 1.10.5, Django лениво импортирует класс анонимного пользователя, поэтому у вас не возникнет проблем с ядром Django. Вы также редко взаимодействуете с AnonymousUser
напрямую, поскольку можете просто использовать .is_anonymous()
, поэтому с вами все будет в порядке, если вы знаете, как ваши зависимости используют AnonymousUser
.