使用create_update.update_object仅更新某个字段

时间:2011-03-11 12:55:12

标签: python django generics views django-forms

我已经定义了一个带有“FirstClass”的models.py,其中包含与“SecondClass”的ForeignKey关系。关系不能是空的。 SecondClass非常广泛(90.000条记录),当我显示FirstClass html表单时,它需要太多时间生成“选择框”字段。

因此,当我让用户更新对象时(我使用create_update.update_object泛型视图),我不想显示和更新foreignkey字段的值,但我不知道如何做到这一点。 。

1 个答案:

答案 0 :(得分:0)

创建ModelForm并将其传递到视图according to the docs.

由于外键在创建时应始终存在,因此在更新中忽略它是安全的。

class MyModelForm(forms.ModelForm):
    class Meta:
         model = FirstClass
         exclude = ('SecondClass',)

# urls.py
(r'^foo/(?P<object_id>\d+)/$','django.views.generic.create_update.update_object',
                                                 {'form_class': MyModelForm})