Django ModelForm 字段 - 必须有多个?

标签 django django-forms

我的模型有超过 25 个字段。我想创建一个表单来仅编辑其中一个字段。因此我这样做了:

class My_Model_Form(ModelForm):
    class Meta:
        model = myModel
        fields = ('myField')

这给了我有关为 My_Model_Form 指定的 Unknown field(s) (i, b, l, o, T) 的错误。所以,我将上面的内容更改为:

class My_Model_Form(ModelForm):
    class Meta:
        model = myModel
        field = ('myField')

(我从 fields 中删除了 s)。这有效(在 runserver 命令运行中)但是,该表单现在包括来自模型 myModel所有 字段。获得我想要的单字段表单的唯一方法是使用 exclude 关键字,并列出除我想要的字段之外的所有字段。这看起来很荒谬。

我是不是做错了。有没有更好/正确的方法来做到这一点?

谢谢!

最佳答案

单项元组中必须有逗号,否则当您遍历字段时,它将遍历字符串中的每个字符:

fields = ('myField',)

关于Django ModelForm 字段 - 必须有多个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059126/

相关文章:

django - 在表单中包含标签 django

django - 如何在 Tastypie API 中创建对象?

django - 合并 django 中带有注释的两个查询集

python - Django:set_password 不是散列密码吗?

python - django禁用Booleanfield未在POST方法上提交

python - modelform django 中多对多字段的过滤器选择

python - 将预先存在的 django git 存储库部署到 heroku

python - 你见过的 Django 中最糟糕的做法

python - Django:尝试读取模板 500.html 时出现 UnicodeDecodeError

python - 在基于类的表单之间传递数据