2016-11-28 44 views
1

我不明白为什么我的模型的某些领域发生冲突。Django反向访问器错误

我没有任何外键,所以他们为什么会发生冲突?

这里是我的代码:

from __future__ import unicode_literals 
from django.db import models 
from django.contrib.auth.models import AbstractUser 
import datetime 
import uuid 

# Create your models here 
class Patients(AbstractUser): 
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) 
    first_name = models.CharField(max_length = 255) 
    last_name = models.CharField(max_length = 255) 
    dob = models.DateField(datetime.date.today) 
    gender = models.CharField(max_length = 1) 
    def __unicode__(self): 
     return self.id 

以下是错误:

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

有什么错误:文档Substituting a custom User model

参考

AUTH_USER_MODEL = 'your_app.Patients' 

检查呢? –

+0

“我没有任何外键,为什么他们会冲突?!”定义冲突。向我们显示您的错误日志和回溯。 –

+0

对不起,我忘了把错误,我只是编辑我的文章 –

回答

6

您需要添加AUTH_USER_MODELsetting.py文件。 Django需要知道初始化默认模型。您可以添加如下:https://stackoverflow.com/a/26703434/4575071

+0

我应该在[]中放置什么,只是我的模型的名称?所以这个:AUTH_USER_MODEL = [Patient]? –

+1

你的应用名称是'api'吗?如果是这样,那么你会添加'api.Patients' – ettanany

+0

它确实是api,但现在我得到这个错误:ValueError:字段admin.LogEntry.user声明与'api.patients',但应用'api'不提供模型“患者”。 –