Django模型CharField的选择与其自身相冲突
我用Django模型CharField的选择与其自身相冲突,django,django-models,Django,Django Models,我用models.CharField(choices)扩展了我的调查模型,但由于 错误:surveys.Survey.status:(models.E006)字段“status”与模型“surveys.Survey”中的字段“status”冲突。 我的型号代码: class Survey(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) start_date = models.DateT
models.CharField(choices)
扩展了我的调查
模型,但由于
错误:surveys.Survey.status:(models.E006)字段“status”与模型“surveys.Survey”中的字段“status”冲突。
我的型号代码:
class Survey(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
start_date = models.DateTimeField(auto_now_add=True)
finish_date = models.DateTimeField(blank=True, null=True)
uuid = models.UUIDField(unique=True, editable=False, db_index=True, default=uuid.uuid4)
Finished = 'FI'
OnProgress = 'OP'
ReportGenerated = 'RG'
STATUSES = [
(Finished, 'Finished'),
(OnProgress, 'OnProgress'),
(ReportGenerated, 'ReportGenerated')
]
status = response = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
我在那里使用了其他模型,以防有帮助:
class SurveyCategory(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
survey = models.ForeignKey(Survey, on_delete=models.CASCADE)
class SurveyQuestion(models.Model):
survey = models.ForeignKey(Survey, on_delete=models.CASCADE)
question = models.ForeignKey(Question, on_delete=models.CASCADE)
response_explanation = models.TextField(blank=True, null=True)
Not_Responded = 'NR'
Fully_Implemented = 'FI'
Partially_Implemented = 'PI'
Not_Implemented = 'NI'
SURVEY_RESPONSE_CHOICE = [
(Not_Responded, 'Not Responded'),
(Fully_Implemented, 'Fully Implemented'),
(Partially_Implemented, 'Partially Implemented'),
(Not_Implemented, ' Not Implemented'),
]
response = models.CharField(
max_length=2,
choices=SURVEY_RESPONSE_CHOICE,
default=Not_Responded,
)
你写了:
status = response = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
注意这里的status=response=
,这会导致问题。将其保存为:
status = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
或:
你写了:
status = response = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
注意这里的status=response=
,这会导致问题。将其保存为:
status = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
或:
不能使用
status=response=models.CharField()
。请尝试仅使用status=models.CharField()
。如果希望将相同的响应值存储在数据库中,则可以执行覆盖save()方法。
例如:
status = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
response = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
blank=True,
null=True
)
def save(self, *args, **kwargs):
self.response = self.status
super(Survey, self).save(*args, **kwargs)
不能使用
status=response=models.CharField()
。请尝试仅使用status=models.CharField()
。如果希望将相同的响应值存储在数据库中,则可以执行覆盖save()方法。
例如:
status = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
)
response = models.CharField(
max_length=2,
choices=STATUSES,
default=OnProgress,
blank=True,
null=True
)
def save(self, *args, **kwargs):
self.response = self.status
super(Survey, self).save(*args, **kwargs)
你在哪里继承过这项调查?还是一对一的关系?嘿,我用了
User
作为一对UserProfile
模型。我会更新这个问题。但我并没有将调查作为用户和用户档案之间的一对一。在调查和任何其他模型之间。您是否有一个名为Status的模型?没有,没有名为Status的模型,我将Status更改为SOME DATA,它有相同的错误:surveys.Survey.SOME_DATA:(models.E006)字段“SOME_DATA”与模型“surveys.Survey”中的字段“SOME_DATA”冲突。
,我将字段从状态
更改为某些数据
,如上所述错误您是否继承了调查?还是一对一的关系?嘿,我用了User
作为一对UserProfile
模型。我会更新这个问题。但我并没有将调查作为用户和用户档案之间的一对一。在调查和任何其他模型之间。您是否有一个名为Status的模型?没有,没有名为Status的模型,我将Status更改为SOME DATA,它有相同的错误:surveys.Survey.SOME_DATA:(models.E006)字段“SOME_DATA”与模型“surveys.Survey”中的字段“SOME_DATA”冲突。
,我将字段从状态
更改为一些数据
,错误如上哦,对不起,现在是greatOh,对不起,现在很好