Search code examples
pythondjangodjango-modelsdjango-migrations

Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions' did not migrate i'm making crm and i


I'm making this crm and i got this error i will share code with you

i'm taking this video and i got this error

https://www.youtube.com/watch?v=fOukA4Qh9QA&t=4925s

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

Setting.py

Here's my settings code """

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'leads',


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.1/howto/static-files/

STATIC_URL = '/static/'

AUTH_USER_MODELS = 'leads.User'

models.py

Here's my models code

from django.db import models
from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
    pass

class Lead(models.Model):
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=20)
    phone = models.BooleanField(default=False)
    agent = models.ForeignKey("Agent",on_delete=models.CASCADE)


class Agent(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

Solution

  • The setting is named AUTH_USER_MODEL [Django-doc], not AUTH_USER_MODELS since you can specify exactly one model not multiple ones:

    AUTH_USER_MODEL = 'leads.User'