似乎不能以django形式排除某个字段

时间:2013-10-24 03:07:21

标签: django django-views django-models

我有一个Django项目,其中我有一个Django CreateView类的子视图。此视图用于将文件上载到服务器,并使用我创建的UploadedFile模型。 UploadedFile也需要与项目相关联,该项目在ForeignKey模型中存储为名为project的{​​{1}}。

项目ID作为网址的一部分传递:UploadedFile

由于(r'^projects/(?P<proj_key>\d+)/$', UploadedFileCreateView.as_view(), {}, 'upload-new')实际上不是表单字段,因此我知道我需要使用project将其排除;然而,即使在我这样做之后,django也从未进入ModelForm方法(如果我在其中放入日志记录调用,它将永远不会写入日志,尽管日志记录工作正常)。我猜测form_valid是罪魁祸首,因为在我加入之前,我可以告诉它有效。我不明白为什么即使在我排除{django之后django也不认为该表格有效{1}}。

这是我的ForeignKey定义:

project

以下是我的观点定义:

model

1 个答案:

答案 0 :(得分:1)

我看到两个可能的问题:

1)表单关键字为exclude,而不是excludes

通常建议您明确列出要包含的fields,因此您不会意外地公开以后可能添加的任何字段,但exclude会有效。

2)您实际上并未在视图中使用自定义表单类。将form_class属性设置为UploadedFileForm