Django listview克隆选择记录

时间:2015-06-23 07:13:18

标签: django

从现有的LISTVIEW中,有一种基于现有previos记录创建新记录的简单方法吗?

1) select the record
2) call the CREATEVIEW
3) set as initail the data from point 1)

这是可能的,哪个最好?

  

A)

     

通过javascript从1)获取数据并通过url将它们传递给CREATEVIEW   参数

     

B)

     

服务器端解决方案?

1 个答案:

答案 0 :(得分:1)

我在views.py中使用了一个简单的方法。只需检索记录,删除其ID然后保存并打开它。像

这样的东西
def create_new_version(request) :
    record = models.MyDocument.objects.filter(id=request.GET['id'])[0]
    record.id = None
    record.save()
    return http.HttpResponseRedirect(reverse('edit-mydocument', kwargs={'pk':record.id}))

其中MyDocument是您的模型,edit-mydocument是您的UpdateView。只需使用您要复制的文档的ID作为GET上的id参数调用它。