Я сделал функцию обновления, но произошла ошибка, как показано ниже:
NoReverseMatch в / moneybooks / 1 / Реверс для 'update' с аргументами '(' ',)' не найден. Попробован 1 шаблон (ов): ['moneybooks / update / (? P [0-9] +) / $']
Я пробую много вещей ... но не знаю, в чем проблема .
дата. html
<a href="{% url "moneybooks:update" moneybooks.pk %}">Update Moneybook</a></br>
views.py
class moneybook_update(UpdateView):
form_class = forms.UpdateMoneybookForm
template_name = "moneybooks/update.html"
def form_valid(self, form):
moneybook = form.save()
moneybook.owner = self.request.user
moneybook.save()
return redirect(reverse("cores:home"))
url.py
from django.urls import path
from . import views
app_name = "moneybooks"
urlpatterns = [
path("create/", views.moneybook_create.as_view(), name="create"),
path("update/<int:pk>/", views.moneybook_update.as_view(), name="update"),
path("<int:pk>/", views.moneybook_detail, name="detail")
]
form.py
class UpdateMoneybookForm(forms.ModelForm):
class Meta:
model = models.Moneybook
fields = (
"name",
"companion",
"country",
"location",
"start_date",
"end_date",
)
def save(self, *args, **kwargs):
moneybook = super().save(commit=False)
return moneybook