0

此答案显示了如何将 get_or_create 与 django 表单一起使用。它对我来说很好,因为有问题的模型除了 pk 之外没有唯一的约束。但在我看来,它没有使用通用的 CreateView,如果可以的话,我想坚持下去。

我认为在 CreateView 中模拟这一点的最佳方法是覆盖实际将对象保存到数据库中的任何方法,但我无法在源代码中找到发生这种情况的位置。我是否遗漏了一些明显的东西或者我误解了它是如何工作的?

4

1 回答 1

1

CreateView继承自ModelFormMixin。覆盖该form_valid方法以在表单有效时更改行为。

您可以在 GitHub 上查看该方法的代码。form_valid默认行为在文档中描述为:

form_valid(form)
保存表单实例,设置视图的当前对象,并重定向到get_success_url().

于 2013-10-14T11:27:53.167 回答