Django copy object: func с self.id в html, urls и представлениях

Я пытаюсь скопировать свой объект. Я могу получить копию из моего "def checklist_copy", если я явно укажу pk.(пример)

Но я пытаюсь работать с 'self.pk' и это не работает. Я хочу скопировать объект, под которым я нажимаю на кнопку

я использовал различные вариации: (pk=pk) в функции,

checklist.id и checklist.pk в html-шаблоне,

пробовал передать "self" в функцию и сделать self.pk

выполнение pk=int(Checklist.object.get.id()), чтобы затем передать это "pk" в (pk=pk) в object.id()

try include func in class DetailView


не достиг результата


Помогите пожалуйста. Я не знаю где и что искать

Пример:

models.py

from django.urls import reverse
from django.db import models

class Checklist(models.Model):
    title = models.CharField(max_length=250)

    def get_absolute_url(self):
        return reverse ('checklist:checklist', kwargs={'id': self.id, 'title': self.title})

    def __str__(self):
        return self.title

view.py

from django.views.generic.list import ListView
from django.views.generic.detail import DetailView
from .models import Checklist
from django.shortcuts import redirect
from django.urls import reverse_lazy
   
class CheckListView(ListView):
    model = Checklist
    context_object_name = 'checklists'

class CheckListDetail(DetailView):
    model = Checklist
    context_object_name = 'checkList'
    template_name = 'base/checklist.html'


def checklist_copy(request):
    dest = Checklist.objects.get(pk=2) #here i need to use self.id(pk), but can't include 'self' in args of func
    dest.pk = None
    dest.save()
    return redirect(reverse_lazy('checklists'))

urls.py (мое приложение)

from django.urls import path
from .views import CheckListView, CheckListDetail
from . import views

urlpatterns = [
    path('', CheckListView.as_view(), name='checklists'),
    path('checklist/<int:pk>/', CheckListDetail.as_view(), name='checklist'),
    path('checklist-copy/', views.checklist_copy, name='checklist_copy'),
]

checklist_list.html

<div id="tasklist" class="task-items-wrapper">
{% for checklist in checklists %}
<div class="task-wrapper" data-position="{{checklist.pk}}">
    <div class="task-title">
        <a href="{% url 'checklist' checklist.pk %}">{{checklist}}</a> 
    </div>

</div>
<a class="task-wrapper" href="{% url 'checklist_copy' %}">Copy</a>

{% endfor %}
Вернуться на верх