Python Django&;运行';makemigrations';

Python Django&;运行';makemigrations';,python,django,django-models,Python,Django,Django Models,我是python的大三学生,我想使用django创建一个Web服务,我编写了model.py,我的类中似乎有问题,但我无法修复。 我不知道错误是在“相关名称”中还是在模型中 运行命令“makemigrations”后的错误消息为: ERRORS: PSTL.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'. HINT:

我是python的大三学生,我想使用django创建一个Web服务,我编写了model.py,我的类中似乎有问题,但我无法修复。 我不知道错误是在“相关名称”中还是在模型中

运行命令“makemigrations”后的错误消息为:

ERRORS:
PSTL.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'.

PSTL.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'.
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'.
我的model.py是:

from django.db import models
from django.contrib.auth.models import AbstractUser #BASE
from django.contrib.auth.models import Group
from datetime import *

class User(AbstractUser):

    date = models.DateTimeField(auto_now_add = True)
    type = models.TextField(max_length=20)
    ########################################################
    def __str__(self):              # __unicode__ on Python 2
        return self.username


class CompteCandidat(User):
    name = models.TextField(max_length=50)
    prenom=models.TextField(max_length=50)
    sexe = models.TextField(max_length=10)
    datecr = models.DateTimeField(auto_now_add = True)
    cv = models.OneToOneField('CV',related_name="CompteCcv")
    demande=models.OneToOneField('Adresse',related_name="CompteCdemande")

    def __str__(self):              # __unicode__ on Python 2

        return self.name



class CompteRE(User):
    name = models.TextField(max_length=50)
    accronime = models.TextField(blank=False,null=False)
    fondateur = models.TextField(max_length=50)
    dateF= models.DateTimeField(auto_now = True,blank=False,null=False)
    site= models.TextField(max_length=20)
    fax=models.TextField(max_length=20)
    activite=models.TextField(max_length=20)

    def __str__(self):
        return self.name


class CompteRF(User):
    name = models.TextField(blank=False,null=False)
    accronime = models.TextField(blank=False,null=False)
    site= models.TextField(max_length=20)
    fax=models.TextField(max_length=20)
    #######################################################
    def __str__(self):
        return self.name

class CV(models.Model):
    numtel = models.IntegerField(blank=False,null=False)
    datecv= models.DateTimeField(auto_now = True,blank=False,null=False)
    pathcv = models.TextField(blank=False,null=False)
    compteCand = models.OneToOneField('CompteCandidat',related_name="cvss")
    competence=models.ManyToManyField('Competence',related_name="cvss",blank=True)
    #######################################################
    def __str__(self):
        return self.name


class Competence(models.Model):
    cv=models.ManyToManyField('CV',related_name="cv",blank=True)
    #######################################################
    def CVs(self):
        return self.cv.all()


class Diplome(Competence):
    type=models.TextField(blank=False,null=False)
    domaine=models.TextField(blank=False,null=False)
    specialite=models.TextField(blank=False,null=False)
    annee=models.DateTimeField(auto_now = False,blank=False,null=False)
    #######################################################


class CompetenceTech(Competence):
    domaine=models.TextField(blank=False,null=False)
    valeur=models.TextField(blank=False,null=False)
    #######################################################


class CompetenceLang(Competence):
    langue=models.TextField(blank=False,null=False)
    niveau=models.TextField(blank=False,null=False)
    #######################################################


class Adresse(models.Model):
    numV=models.IntegerField(blank=False,null=False)
    complementdest=models.TextField(blank=False,null=False)
    complementadr=models.TextField(blank=False,null=False)
    commune=models.TextField(blank=False,null=False)
    codeP=models.IntegerField(blank=False,null=False)
    pays=models.TextField(blank=False,null=False)
    compteCand=models.OneToOneField('CompteCandidat',related_name="ad")



class Demande(models.Model):
    nom=models.TextField(blank=False,null=False)
    prenom=models.TextField(blank=False,null=False)
    pathcv=models.TextField(blank=False,null=False)


class Stage(models.Model):
    typeposte=models.TextField(blank=False,null=False)
    diplome=models.TextField(blank=False,null=False)
    niveau=models.TextField(blank=False,null=False)
    duree=models.IntegerField(blank=False,null=False)
    commentaire=models.TextField(blank=False,null=False)

class FicheFormation(models.Model):
    intitule=models.TextField(blank=False,null=False)
    duree=models.IntegerField(blank=False,null=False)
    objective=models.TextField(blank=False,null=False)
    nbrUE=models.IntegerField(blank=False,null=False)
    niveau=models.TextField(blank=False,null=False)
    prix=models.IntegerField(blank=False,null=False)
    unitef=models.ManyToManyField('FicheFormation',related_name="fichef",blank=True)

class UniteFormation(models.Model):
    nomUe=models.TextField(blank=False,null=False)
    accronime=models.TextField(blank=False,null=False)
    commentaire=models.TextField(blank=True,null=True)

已经有一个名为User的内置类,如果要向其添加额外字段,最好按照此处所述创建一对一关系。您是否忘记将
AUTH\u User\u MODEL
设置设置为自定义用户模型?您需要将其设置为
“PSTL.User”
,以便Django知道如何使用您的用户模型,而不是默认模型。