要向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添加表单/模板。
答案 0 :(得分:0)
尽管我还没能完全按照自己的意愿行事,但我通过创建自定义管理操作解决了我的问题,该操作以一种合理的方式复制所有选定的模型模型。通过覆盖某些属性并设置"无效"状态,用户被迫首先编辑复制的模型,然后才能使用它。