创建 Django 管理操作来复制记录
我想创建一个 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"
我知道这是不对的......但我的想法接近吗?
I want to create a Django Admin Action that allows me to create a duplicate of a record.
Heres the use case.
Admin clicks the checkbox next to a record in an app that they want to duplicate.
Admin selects "Duplicate" from the admin action drop down menu.
Admin clicks go.
Django admin creates a duplicate record with a new id.
Page is refrshed and new duplicate is added with id.
Admin clicks on the new, duplicated record, and edits it.
Admin clicks save.
Am I crazy or is this a pretty straight forward Admin Action?
I've been using these docs for reference: http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/
I'm thinking something like this:
In my app:
def duplicate(modeladmin, request, queryset):
new = obj.id
queryset.create(new)
return None
duplicate.short_description = "Duplicate selected record"
I know that's not right... but is my thinking close?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的想法是正确的,但您需要迭代查询集,然后复制每个对象。
You have the right idea but you need to iterate through the queryset then duplicate each object.
也许这对你有用。
Maybe this work to for you.