Fields.E304 Конфликты обратных аксессоров в Django для нескольких пользовательских моделей пользователей

ERRORS:
core.User.groups: (fields.E304) Reverse accessor for 'core.User.groups' clashes with reverse accessor for 'seller.User.groups'.
        HINT: Add or change a related_name argument to the definition for 'core.User.groups' or 'seller.User.groups'.
core.User.user_permissions: (fields.E304) Reverse accessor for 'core.User.user_permissions' clashes with reverse accessor for 'seller.User.user_permissions'.
        HINT: Add or change a related_name argument to the definition for 'core.User.user_permissions' or 'seller.User.user_permissions'.
seller.User.groups: (fields.E304) Reverse accessor for 'seller.User.groups' clashes with reverse accessor for 'core.User.groups'.
        HINT: Add or change a related_name argument to the definition for 'seller.User.groups' or 'core.User.groups'.
seller.User.user_permissions: (fields.E304) Reverse accessor for 'seller.User.user_permissions' clashes with reverse accessor for 'core.User.user_permissions'.
        HINT: Add or change a related_name argument to the definition for 'seller.User.user_permissions' or 'core.User.user_permissions'.

Эту ошибку я получаю, когда пытаюсь перенести две одинаковые пользовательские модели пользователя. Я скопировал код пользовательской модели пользователя из моего пользовательского приложения models.py в приложение продавца models.py.

# seller/models.py

class UserManager(BaseUserManager):

    def create_user(self, email, password=None, **extra_fields):
        if not email:
            raise ValueError('Users must have an email address')
        user = self.model(email=self.normalize_email(email), **extra_fields)
        user.set_password(password)
        user.save()
        return user

    def create_superuser(self, email, password):
        user = self.create_user(email, password)
        user.is_staff = True
        user.is_superuser = True
        user.save(using=self._db)

        return user


class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(max_length=255, unique=True)
    name = models.CharField(max_length=255)
    is_active = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)

    objects = UserManager()

    USERNAME_FIELD = 'email'

# user/models.py

class UserManager(BaseUserManager):

    def create_user(self, email, password=None, **extra_fields):
        if not email:
            raise ValueError('Users must have an email address')
        user = self.model(email=self.normalize_email(email), **extra_fields)
        user.set_password(password)
        user.save()
        return user

    def create_superuser(self, email, password):
        user = self.create_user(email, password)
        user.is_staff = True
        user.is_superuser = True
        user.save(using=self._db)

        return user


class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(max_length=255, unique=True)
    name = models.CharField(max_length=255)
    is_active = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)

    objects = UserManager()

    USERNAME_FIELD = 'email'

Я пробовал переименовать пользовательскую модель пользователя, но это не помогло, я добавил отдельные AUTH_USER_MODEL в settings.py для них обоих. Я также не знаю, куда добавить related_name. Спасибо, также будьте терпеливы со мной, так как я начал изучать django 2 недели назад.

Вернуться на верх