Я работаю над проектом django для школы. Нам практически необходимо создать программу, которая позволит пользователям отвечать на экспертные оценки. В моем проекте django у меня сейчас две модели в разных приложениях. Одна модель - сохранить информацию о пользователе, а другая - сохранить оценки коллег.
Обе модели указаны ниже.
mysite / PAM / models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
from datetime import datetime
# Create your models here.
class CustomPAM(AbstractUser):
date_created=models.DateField(auto_now_add=True)
starting_date=models.DateField(default=datetime.now, editable=True)
deadline_date=models.DateField(null=True, editable=True)
question1=models.TextField()
question2=models.TextField()
question3=models.TextField()
question4=models.TextField()
question5=models.TextField()
question6=models.TextField()
question7=models.TextField()
question8=models.TextField()
question9=models.TextField()
question10=models.TextField()
answer1=models.PositiveIntegerField(max_length=1, null=True, editable=True)
answer2=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer3=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer4=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer5=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer6=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer7=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer8=models.PositiveIntegerField(max_length=1,null=True, editable=True)
answer9=models.TextField(null=True, editable=True)
answer10=models.TextField(null=True, editable=True)
assessmentFrom = models.EmailField(unique=False)
assessmentFor=models.EmailField(unique=False)
def __unicode__(self):
return self.assessmentFrom
и mysite / myusers / models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.conf import settings
from django.db.models.signals import post_save
from django.dispatch import receiver
from rest_framework.authtoken.models import Token
class CustomUser(AbstractUser):
username=models.CharField(max_length=50, unique=True)
name=models.CharField(max_length=150)
eagle_id=models.PositiveIntegerField(unique=True, null=True)
email=models.EmailField(max_length=150, unique=True)
password=models.CharField(max_length=80)
is_student=models.BooleanField(default=False)
is_professor=models.BooleanField(default=False)
is_TA=models.BooleanField(default=False)
team_number=models.PositiveIntegerField(default=0,null=False, editable=True)
def __str__(self):
return self.name
#the next four lines are for generating tokens
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.get_or_create(user=instance)
модель пользователя - это та, которую я сделал несколько недель go, Модель взаимной оценки - это та модель, которую я пытаюсь включить сейчас, но когда я пытаюсь выполнить команду "python3 manage.py makemigrations", я получаю следующее:
SystemCheckError: System check identified some issues:
ERRORS:
PAM.CustomPAM.groups: (fields.E304) Reverse accessor for 'CustomPAM.groups' clashes with reverse accessor for 'CustomUser.groups'.
HINT: Add or change a related_name argument to the definition for 'CustomPAM.groups' or 'CustomUser.groups'.
PAM.CustomPAM.user_permissions: (fields.E304) Reverse accessor for 'CustomPAM.user_permissions' clashes with reverse accessor for 'CustomUser.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'CustomPAM.user_permissions' or 'CustomUser.user_permissions'.
myusers.CustomUser.groups: (fields.E304) Reverse accessor for 'CustomUser.groups' clashes with reverse accessor for 'CustomPAM.groups'.
HINT: Add or change a related_name argument to the definition for 'CustomUser.groups' or 'CustomPAM.groups'.
myusers.CustomUser.user_permissions: (fields.E304) Reverse accessor for 'CustomUser.user_permissions' clashes with reverse accessor for 'CustomPAM.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'CustomUser.user_permissions' or 'CustomPAM.user_permissions'.
WARNINGS:
PAM.CustomPAM.answer1: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer2: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer3: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer4: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer5: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer6: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer7: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
PAM.CustomPAM.answer8: (fields.W122) 'max_length' is ignored when used with PositiveIntegerField.
HINT: Remove 'max_length' from field
I ' Я пытался выяснить это с помощью поиска в Google, но для большинства людей эта проблема возникает при использовании ForeignKey (), но я не использую их в своей модели. Любой совет, что делать?
Изменить: у меня AUTH_USER_MODEL установлен на myusers.CustomUser, поэтому я не думаю, что это так. Кроме того, в нем говорится, что мне нужно добавить аргумент related_name в x.groups или x.user_permissions, но они нигде не определены в моем коде