创建 Django 管理操作来复制记录

2023-11-26

我想创建一个 Django 管理操作,允许我创建记录的副本。

这是用例。

管理员单击应用程序中要复制的记录旁边的复选框。 管理员从管理操作下拉菜单中选择“复制”。 管理员点击“开始”。 Django 管理员使用新 ID 创建重复记录。 页面被刷新并添加新的副本和 id。 管理员单击新的重复记录并对其进行编辑。 管理员点击保存。

我疯了还是这是一个非常简单的管理操作?

我一直在使用这些文档作为参考:http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/

我在想这样的事情:

在我的应用程序中:

def duplicate(modeladmin, request, queryset):
    new = obj.id
    queryset.create(new)
    return None
duplicate.short_description = "Duplicate selected record"

我知道这是不对的......但我的想法接近吗?


您的想法是正确的,但您需要迭代查询集,然后复制每个对象。

def duplicate_event(modeladmin, request, queryset):
    for object in queryset:
        object.id = None
        object.save()
duplicate_event.short_description = "Duplicate selected record"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建 Django 管理操作来复制记录 的相关文章

随机推荐