从现有的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)
服务器端解决方案?
答案 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参数调用它。