管理员使用默认值添加表单

时间:2014-05-06 08:22:47

标签: django

要向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)

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

1 个答案:

答案 0 :(得分:0)

尽管我还没能完全按照自己的意愿行事,但我通过创建自定义管理操作解决了我的问题,该操作以一种合理的方式复制所有选定的模型模型。通过覆盖某些属性并设置"无效"状态,用户被迫首先编辑复制的模型,然后才能使用它。