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,对不起,现在很好