Обратный аксессор для конфликтов CustomPAM.groups с обратным аксессором для CustomUser.groups - PullRequest
0 голосов
/ 06 мая 2020

Я работаю над проектом 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, но они нигде не определены в моем коде

...