#python #django #django-models #django-forms #django-migrations
Вопрос:
Я создаю эту crm, и у меня есть эта ошибка, я поделюсь с вами кодом
я снимаю это видео, и я получил эту ошибку
https://www.youtube.com/watch?v=fOukA4Qh9QAamp;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
Вот мой код настроек «»»
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
Вот код моей модели
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)
Комментарии:
1. я не могу сразу увидеть проблему, но я бы предположил, что если вам не нужно добавлять подкласс пользователя в класс AbstractUser, поэтому… удаление класса пользователя и удаление AUTH_USER_MODELS может решить вашу проблему, используйте эти «из django.contrib.auth.модели импортируют пользователя», чтобы ввести модель пользователя по умолчанию в эти области
Ответ №1:
Параметр называется AUTH_USER_MODEL
[Django-doc], но не AUTH_USER_MODEL
потому, что вы можете указать только одну модель, а не несколько:S
AUTH_USER_MODEL = 'leads.User'
Комментарии:
1. Братан, когда я набираю это, я получаю эту ошибку ОШИБКИ: leads.User.user_ptr: (поля.E301) Поле определяет связь с моделью ‘auth. Пользователь», который был заменен. ПОДСКАЗКА: Обновите отношение, чтобы указать на «настройки». AUTH_USER_MODEL’.
2. @DeveloperLachi: вы уверены, что не унаследовали от
User
вместоAbstactUser
?3. пользователь класса(Пользователь,абстрактпользователь): pass
4. из django.db импортируйте модели из django.contrib.auth.модели импортируйте пользователя, абстрактного пользователя
5. @DeveloperLachi: удалите
User,
деталь, из которой вы больше не можете подклассироватьUser
, так как это означало бы, что активны две модели пользователей.