获取ModelForm字段的值

4

请问有没有人能告诉我如何获取模型表单字段的数据/值?我知道如何获得初始数据,但如果我理解正确,表单字段也有与之相关联的数据/值。

谢谢


你是在谈论用户提交表单之后的事情吗? - Jack M.
1
一个表单在提交之前只有它的初始值或者相关的数据库值(如果为NULL)(除了客户端脚本,如JavaScript等)。所以我想你是指提交后的值,这就是form.field.value()吗? - Hedde van der Heide
嗨,ArgsKwargs,我使用你的答案成功了。这个方法有效:form['fieldsname'].value()。谢谢。 - Mridang Agarwalla
你应该使用cleaned_data,因为这是对象的Python表示形式(例如,对于forms.IntegerField,会转换为整数)。请参见我的答案和下面的文档。 - Issac Kelly
1个回答

5

您使用的是 cleaned_data https://docs.djangoproject.com/en/dev/topics/forms/#processing-the-data-from-a-form。以下是一个例子:

>> models.py
class Book(models.Model):
    author = models.CharField(max_length=140)

>> forms.py
class BookForm(forms.ModelForm):

    class Meta:
        model = Book

>> views.py

def book_update(request):
    form = BookForm(request.POST or None)
    if form.is_valid():
        print form.cleaned_data['author']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接