私は過去にDjangoのreverse
を複数回使用しましたが、今日このエラーが発生したため、デバッグするには直感的には思えません。
TypeError: _reverse_with_prefix() argument after * must be an iterable, not int
これが私が使用しているビューです:
from Django.urls import reverse
...
...
def show_scores_url(self, obj):
scores_url = reverse('get_scores', args=(obj.pk))
return format_html('<a href="' + scores_url + '">Scores</a>')
...
...
this コメントで述べたように、引数タプルの最後にコンマを置くことで修正されます。
scores_url = reverse('get_scores', args=(obj.pk,))
( this SO answer で述べたように、単一アイテムのタプルがタプルまたは括弧で囲まれた式の定義を明確にするためには、末尾のコンマが必要です)
または、 docs で述べたように、リストを使用すると正常に機能します。
scores_url = reverse('get_scores', args=[obj.pk])