在我的 django 项目中,我想添加一个表,其中最后一个数据插入到任何添加/编辑表单上方,因此在我的 admin.py 中我写道:
class t_proj_routeAdmin(admin.ModelAdmin):
def changeform_view(self, request, obj_id=None, form_url='', extra_context=None):
l_mod = t_proj_route.objects.latest('id')
extra_context = {
'lmod': l_mod,
}
return super(t_proj_routeAdmin, self).changeform_view(request, extra_context=extra_context)
然后在我的模板中使用数据添加表格。 如果我打开一个ADD页面,一切就完成了,但是当我尝试修改已经存在的记录时,django将我重定向到一个新的ADD,并且我无法打开所选数据的编辑页面。
我如何使用这种技术来管理添加和编辑记录?
提前致谢
最佳答案
首先,我建议定义这样的方法:
def changeform_view(self, request, obj_id, form_url, extra_context=None):
每次调用编辑和添加操作时都会调用此方法,如果您强制 obj_id 和 form_url 变量为空,则当尝试编辑数据时,该方法会返回一个新的空白表单,即 ADD 模板。
在 return 语句中使用完整的方法变量插入:
return super(t_proj_routeAdmin, self).changeform_view(request, obj_id, form_url, extra_context=extra_context)
应该有效
再见
关于python - Django Admin changeform_view 方法不允许打开编辑数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52744424/