复选框的 Django 编程错误
Django Programming Error for checkbox
我在提交表单时一直收到此错误:
Exception Type: ProgrammingError
Exception Value: column "location_completed" of relation "core_dailyprogress" does not exist
我的模型是这样的:
class DailyProgress(BaseModel):
location_completed = models.BooleanField(default=False, blank=True)
我的表格如下:
class DailyProgressForm(forms.ModelForm):
location_completed = forms.BooleanField(required=False, initial=False)
class Meta:
model = DailyProgress
fields = '__all__'
widgets = {
'location_completed': forms.CheckboxInput(),
}
最后,我的模板是:
<label>{{ form.location_completed }} Location Completed</label>
您的代码看起来不错。您可能应该检查此数据库 table 是否有此列(正如错误消息所暗示的那样),或者您是否有尚未 运行 的迁移。
通常该错误表示数据库问题。您最近偶然添加了 location_completed 而没有迁移吗? Django 1.8+ 上的 Postges 存在一个奇怪的问题,有时在迁移后无法更改表。您可以从 shell 访问 location_completed 吗?
此外,我相信您可以将表单代码简化为:
class DailyProgressForm(forms.ModelForm):
location_completed = forms.BooleanField(required=False, initial=False)
class Meta:
model = DailyProgress
因为 CheckboxInput 是 forms.BooleanField 的默认小部件。
我在提交表单时一直收到此错误:
Exception Type: ProgrammingError
Exception Value: column "location_completed" of relation "core_dailyprogress" does not exist
我的模型是这样的:
class DailyProgress(BaseModel):
location_completed = models.BooleanField(default=False, blank=True)
我的表格如下:
class DailyProgressForm(forms.ModelForm):
location_completed = forms.BooleanField(required=False, initial=False)
class Meta:
model = DailyProgress
fields = '__all__'
widgets = {
'location_completed': forms.CheckboxInput(),
}
最后,我的模板是:
<label>{{ form.location_completed }} Location Completed</label>
您的代码看起来不错。您可能应该检查此数据库 table 是否有此列(正如错误消息所暗示的那样),或者您是否有尚未 运行 的迁移。
通常该错误表示数据库问题。您最近偶然添加了 location_completed 而没有迁移吗? Django 1.8+ 上的 Postges 存在一个奇怪的问题,有时在迁移后无法更改表。您可以从 shell 访问 location_completed 吗?
此外,我相信您可以将表单代码简化为:
class DailyProgressForm(forms.ModelForm):
location_completed = forms.BooleanField(required=False, initial=False)
class Meta:
model = DailyProgress
因为 CheckboxInput 是 forms.BooleanField 的默认小部件。