当前位置: 首页 > 知识库问答 >
问题:

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

傅朝
2023-03-14

我有一个表单,其中的字段来自ModelForm,其中一个是Models.ForeignKey字段,它链接到我的用户模型中的用户名。这将导致数据库中的每个用户都列在选择字段中。我希望这个字段是一个文本输入,在这里有人输入一个用户名,我在ModelForm中已经这样做了。但是当我的视图经过form.is_valid()时,表单给出一个错误,表示此字段无效。如果我删除is_valid()检查,它当然会给我一个错误,即表单无法保存,因为数据没有验证。

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

共有1个答案

司马弘益
2023-03-14

重写表单清理方法,如https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overring-the-clean-method

确保您的clean方法清除文本字段(去掉空白空间),并查找用户名(或用户id)的值实际上是正确的。

 类似资料:
  • 问题内容: 在我的模型中,我想要一个包含三联列表的字段。例如。是否存在可以将这些数据存储在数据库中的字段? 问题答案: 你可以使用JSON将其转换为字符串并将其存储为字符串。 例如, 你可以在类中添加方法以自动为你转换。

  • 问题内容: 如何使entry.category成为CategoryProxy的实例?有关详细信息,请参见代码: 从Category转换为CategoryProxy也是可以的,但是我对ORM内部结构以正确复制内部状态不是很熟悉… 编辑。 原因:我向CategoryProxy添加了方法,并想使用他: 编辑2. 目前,我是这样实现的: 但是看起来很糟糕… 问题答案: 在不访问数据库的情况下从模型类切换到

  • 问题内容: 我有以下模型: 我想在管理员中添加时过滤字段,如下所示: 我已经尝试了很多东西,但是没有任何效果!我怎样才能做到这一点? 问题答案: 使用方法:

  • 问题内容: 我有Foo模型,其中有栏杆。bar字段应该是唯一的,但允许为空,这意味着如果bar字段为,我想允许多个记录,但如果不是,则值必须是唯一的。 这是我的模型: 这是该表的相应SQL: 当使用管理界面在bar为null的情况下创建多个1个foo对象时,它给我一个错误:“此Bar的Foo已经存在。” 但是,当我插入数据库(PostgreSQL)时: 这样做很好,它允许我插入1条以上且bar为n

  • 问题内容: 我定义了一个(最终)继承自的类。我想获取为此模型定义的所有字段的列表。例如,。基本上,我想检索从该类继承的任何内容。 我以为我可以利用来检索这些,但是它返回的列表不包含任何这些字段。看起来Django已经掌握了该类,并添加了其所有魔术属性并去除了实际定义的内容。那么…我如何获得这些领域?它们可能具有为自己的内部目的检索它们的功能? 问题答案: 由于大多数答案已过时,因此我将尝试在Dja

  • 问题内容: 如何使用Django的ORM和PostgreSQL后端存储二进制数据的“ blob”?是的,我知道Django对这种事情不屑一顾,是的,我知道他们更喜欢你使用ImageField或FileField来表示,但这足以说明我的应用程序不切实际。 我曾尝试通过使用TextField对其进行破解,但是当我的二进制数据未严格确认模型的编码类型(默认为unicode)时,会出现偶尔的错误。例如 问