Ошибка NoReverseMatch в /assetAdmin/ в Django

Я создал таблицу, которая содержит подробную информацию обо всех активах. Я хочу обновить информацию об активе. Поэтому из таблицы я сделал asset_id в качестве URL для страницы обновления, как это происходит в Django Administration. Но после того, как я добавил шаблон URL для обновления актива, я получаю следующую ошибку:

Reverse for 'asset-update' with keyword arguments '{'id': UUID('cd7edefa-796d-428e-bcec-c90ceecc7fc3')}' not found. 2 pattern(s) tried: ['assets/(?P<pk>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/update/\\Z', 'assets/(?P<pk>[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/\\Z']

Вот мои urlpatterns из urls.py:

urlpatterns = [
    path('home/', home, name='home'),
    path('assets/', assets, name='assets'),
    path('assetAdmin/', adminAssetView, name='assetsAdmin'),
    path('createAsset/', createAssetView, name='createAssets'),
    path('assets/<uuid:pk>/update/', assetUpdateView.as_view(), name='asset-update'),
    path('register/', register, name='register'),
    path('login/', auth_views.LoginView.as_view(template_name='assets/login.html'), name='login'),
    path('logout/', auth_views.LogoutView.as_view(template_name='assets/logout.html'), name='logout'),
    path('accounts/profile/', profile, name='profile'),
    path('admin/', admin.site.urls),
]

Вот взгляды, о которых идет речь:


@user_passes_test(lambda u: u.is_superuser)
def adminAssetView(request):
    context = {
        'assets': asset.objects.all(),
        'users':User.objects.all(),
    }
    return render(request, 'assets/assetAdmin.html', context)

class assetUpdateView(SuperUserCheck, LoginRequiredMixin, UserPassesTestMixin, UpdateView):
    model = asset
    fields = ['currentOwner',]

    def form_valid(self, form):
        return super().form_valid(form)
    
    def test_func(self):
        asset = self.get_object()
        if self.request.user.is_superuser == True:
            return True
        return False

А вот часть в assetAdmin.html, где я использую asset-update urlpattern

{% for asset in assets %}
<tr>
  <td><a href="{% url 'asset-update' id=asset.id%}">{{ asset.id }}</a></td>
  <td>{{ asset.asset_type }}</td>
  <td>{{ asset.asset_name }}</td>
  <td>{{ asset.brand }}</td>
  <td>{{ asset.isActive }}</td>
  <td>{{ asset.currentOwner }}</td>
</tr>
{% endfor %}

Пожалуйста, дайте мне знать, где я ошибаюсь? Любая помощь или предложения будут высоко оценены.

    {% for asset in assets %}
     <tr>
     <td><a href="{% url 'asset-update' pk=asset.id%}">{{ asset.id }}</a></td>
     <td>{{ asset.asset_type }}</td>
    <td>{{ asset.asset_name }}</td>
    <td>{{ asset.brand }}</td>
     <td>{{ asset.isActive }}</td>
    <td>{{ asset.currentOwner }}</td>
     </tr>
    {% endfor %}

измените id на pk в вашем шаблоне

Вернуться на верх