Python 为什么会抛出Django-Reverse查询名称SystemCheckError?
我是Django的新手,在使用Python 为什么会抛出Django-Reverse查询名称SystemCheckError?,python,django,Python,Django,我是Django的新手,在使用python3 manage.py运行服务器运行Django应用程序时 由于我创建模型的方式,我得到了如下错误 django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues: ERRORS: database.LeadsStatus.company_id: (fields.E305) Reverse query name for
python3 manage.py运行服务器运行Django应用程序时
由于我创建模型的方式,我得到了如下错误
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
database.LeadsStatus.company_id: (fields.E305) Reverse query name for 'LeadsStatus.company_id' clashes with reverse query name for 'LeadsStatus.companies'.
HINT: Add or change a related_name argument to the definition for 'LeadsStatus.company_id' or 'LeadsStatus.companies'.
database.Users.id: (fields.E007) Primary keys must not have null=True.
HINT: Set null=False on the field, or remove primary_key=True argument.
System check identified 2 issues (0 silenced).
这就是我创建模型的方式
class LeadsStatus(models.Model):
id = models.IntegerField(primary_key=True, auto_created=True)
company_id = models.ForeignKey('Companies', null=False, db_index=True, on_delete=models.CASCADE)
status = models.CharField(max_length=120)
users_id = models.IntegerField()
assign_date = models.DateTimeField()
companies = models.OneToOneField('Companies', on_delete=models.CASCADE)
我相信错误可能是因为我创建OneToOneField的方式。如何解决此错误。请帮我理解。谢谢如果您真的需要2个foreing键来识别型号
公司
,那么您需要设置选项来区分它们
例如,您可以将类更改为:
class LeadsStatus(models.Model):
...
company_id = models.ForeignKey(
'Companies',
null=False,
db_index=True,
on_delete=models.CASCADE,
related_name='leadsstatus_1_set')
...
companies = models.OneToOneField(
'Companies',
on_delete=models.CASCADE,
related_name='leadsstatus')
您还可以仅在这两个字段中的一个字段上设置
相关的\u名称
,只要它与leadsstatus\u集的默认值不同
您是否需要外键和与Companys表的OneToOne关系?(你指的是两家公司还是一家?)。用户表上还有另一个错误,您将一个字段设置为主键,并且允许空值,这是不可能的。@AbdulAzizBarkat I删除了用户表上的错误。是的,我需要一个外键和与公司表的一对一关系提示:您可以省略字段id=models.IntegerField(primary\u key=True,auto\u created=True)
,因为它是由Django()自动添加的