我有一个表单,其中的字段来自ModelForm,其中一个是一个models.ForeignKey字段,链接到我的User模型中的用户名。这导致数据库中的每个用户都列在选择字段中。我更喜欢这个字段是TextInput,有人输入用户名,我已经在ModelForm中创建了它。但是当我的视图通过form.is_valid()时,表单会给出一个错误,指出此字段无效。如果我删除了is_valid()检查,它当然会给我一个错误,表明无法保存表单,因为数据没有验证。
如何验证TextInput并将其保存到ForeignKey字段?
答案 0 :(得分:0)
覆盖表格清理方法,例如此处https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-clean-method
确保您的clean方法清除文本字段(条带空格)并查找用户名(或用户ID)的值实际上是否正确。