【问题标题】:What method creates the object in a Django class-based CreateView?什么方法在基于 Django 类的 CreateView 中创建对象?
【发布时间】:2013-10-14 10:58:28
【问题描述】:

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

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

【问题讨论】:

    标签: django django-views


    【解决方案1】:

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

    您可以在 GitHub 上查看 code for the form_valid method。默认行为在文档中描述为:

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

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多