Django - передавать значение для детализации в шаблон

Существует просмотр для детализации:

def get_viewNum(request, numNom):
    md = Nomenclature.objects.get(pk=numNom)
    all_changes_for_md = Changes.objects.filter(numNomenclature_id=md.numNom)

    return render(request,'Sklad/viewNum.html',context = {'nomenclature':md, 'changes':all_changes_for_md})

Также существует view для отображения таблицы:

class TableView(ListView):
    model = Nomenclature
    context_object_name = 'nm'    
    template_name = 'Sklad/viewTable.html'

В шаблоне я вывожу таблицу и хочу, чтобы при нажатии на кнопку происходил переход к детализации нужной номенклатуры. Мой шаблон:

///
{% for item in nm %}
<tr>
    <td>{{item.numNom}}</td>
    <td>{{item.nameNom}}</td>
    <td>{{item.quantity}}</td>
    <td>{{item.numPolk}}</td>
    <td><a href="{% url 'prosmotr'  %}">Просмотр</a></td>
    <td><button>Печать</button></td>
</tr>
{% endfor %}
///

Как передать нужный numNom в строку детализации url? Если вы используете следующее:

...
 <td><a href="{% url 'prosmotr' item.numNom  %}">Просмотр</a></td>
...

Возвращает ошибку:

NoReverseMatch at /table/ Reverse for 'prosmotr' with arguments '('',)' не найдено. Попробовано 1 паттерн(ов): ['news/(?P[^/]+)/\Z']

.

Мой urls.py:

urlpatterns = [
    path('', home, name='rashod'),
    path('add_changes/',CreateChanges.as_view(), name = 'add_changes'),
    path('save', save),
    path('inventriz/', inventriz, name='invent'),
    path('inventriz/inventr', inventr, name='add_invent'),
    path('news/<str:numNom>/',get_viewNum, name='prosmotr'),
    path('table/', TableView.as_view(), name = 'viewTable')
]

Так как ваш numNom является CharField, то представление должно быть таким:

def get_viewNum(request, numNom):
    md = get_object_or_404(Nomenclature, numMom=numNom)
    all_changes_for_md = get_list_or_404(Changes,numNomenclature=md)

    #....

А в html url:

...
 <td><a href="{% url 'prosmotr' item.numNom  %}">Просмотр</a></td>
...
``
Вернуться на верх