允许表单上的TextInput用于Django模型ForeignKey字段

时间:2012-07-25 20:48:33

标签: django django-models django-forms foreign-keys django-views

我有一个表单,其中的字段来自ModelForm,其中一个是一个models.ForeignKey字段,链接到我的User模型中的用户名。这导致数据库中的每个用户都列在选择字段中。我更喜欢这个字段是TextInput,有人输入用户名,我已经在ModelForm中创建了它。但是当我的视图通过form.is_valid()时,表单会给出一个错误,指出此字段无效。如果我删除了is_valid()检查,它当然会给我一个错误,表明无法保存表单,因为数据没有验证。

如何验证TextInput并将其保存到ForeignKey字段?

1 个答案:

答案 0 :(得分:0)

覆盖表格清理方法,例如此处https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-clean-method

确保您的clean方法清除文本字段(条带空格)并查找用户名(或用户ID)的值实际上是否正确。