Этот метод должен решить эту проблему, но имейте в виду, что в базе данных пароль хранится как хеш пароля, и, как указывалось ранее, get_or_create производит точный поиск. Поэтому, прежде чем поиск действительно произойдет, мы «выталкиваем» пароль из kwargs.
Этот метод в вашем пользовательском UserManager:
def get_or_create(self, defaults=None, **kwargs):
password = kwargs.pop('password', None)
obj, created = super(UserManager, self).get_or_create(defaults, **kwargs)
if created and password:
obj.set_password(password)
obj.save()
return obj, created