【问题标题】:Admin add form with default values管理员使用默认值添加表单
【发布时间】:2014-05-06 08:22:46
【问题描述】:

要向 Django 管理员添加一种简单类型的复制功能,我想呈现模型的默认管理员添加形式,但具有默认值。我知道添加表单接受 GET 参数来预填充大多数字段,但我并不总是想复制 M2M 引用,有时还需要复制引用的对象。

我想在代码中做什么:

def some_view(self, request, pk):
    modeol_original = FooModel.objects.get(pk)
    model_copy = FooModel()
    copy_attributes_custom(model_original, model_copy)
    return render_default_django_add_page_for_model(model_copy)

正如 cmets 中提到的 dhana,这可以在以下位置看到:Django set default form values,但仅适用于自定义模板。我不想使用默认的 Django Admin 添加表单/模板。

【问题讨论】:

  • Django 管理员不允许您轻易地复制模型实例。您必须创建一个自定义管理视图来执行此操作。
  • 但是如何在该自定义视图中为未保存的模型实例呈现默认的添加/编辑表单?

标签: django


【解决方案1】:

尽管我无法完全按照我的意愿行事,但我通过创建自定义管理操作以符合模型类型的逻辑方式复制所有选定模型,从而解决了我的问题。通过覆盖某些属性并设置“无效”状态,用户必须先编辑复制的模型,然后才能使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    相关资源
    最近更新 更多