python - Django Admin changeform_view 方法不允许打开编辑数据

标签 python django python-3.x django-admin

在我的 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/

相关文章:

python - 选择 SFrame 中的特定行

python - 加入 DataFrames 以更新原始值

python - 错误 : error in 'egg_base' option: 'src' does not exist or is not a directory

django - DRF : how to get the verbose name for choices?

python - 查找名称包含特定字符串的列

python - 如何使用 python 将原始 json 数据 [作为 python 字典] 写入 Google 云存储?

python - 在最大化最低权重的同时将数字与因子平均分配的算法

python - Django haystack 语法错误

django - 在具有 Angular 前端的简单 Django Rest Framework 应用程序中会发生什么?

python - 统一码编码错误 : 'ascii' codec can't encode character '\xe9' when printing in UTF-8 locale