【发布时间】:2020-01-21 15:50:13
【问题描述】:
我有一个 list.html 有很多记录和一列包含一个按钮来克隆特定记录,如下所示:
{% for betr in object_list %}
....
<td>
<button type="button" class="btn btn-first" onclick="window.location='../clone/{{betr.ID}}';">
<span class="fas fa-copy" style="font-size: 1rem;"></span>
</button>
</td>
{% endfor %}
我的urls.py 看起来像这样:
urlpatterns = [
...
path('update/<int:pk>/', UpdateView.as_view(), name='update'),
path('clone/<int:pk>/', CloneView.cloneRecord(), name='clone'),
...
]
我的views.py 包含一个克隆视图,该视图具有克隆记录并打开带有克隆记录的UpdateView 进行编辑的功能:
class CloneView(LoginRequiredMixin):
login_url = '/accounts/login/'
model = mymodel
def cloneRecord(self,**kwargs):
record = mymodel.objects.filter(id=self.request.GET['ID'])[0]
record.id = None
record.save()
return http.HttpResponseRedirect(reverse('/update/', kwargs={'pk':record.id}))
目前我收到以下错误:
TypeError: cloneRecord() 缺少 1 个必需的位置参数:'self'
我错过了什么?任何帮助表示赞赏。
【问题讨论】:
标签: django model clone django-class-based-views