編集ビューで使用するために URL から ID を取得するための許容可能なベスト プラクティスは何なのか疑問に思っています。私が目にするほとんどのサンプル コードはスラッグを使用していますが、SEO は問題ではないため、対処する必要はありません。
次のようなものがあるとします。
def article_edit(request):
if request.method == 'POST': # If the form has been submitted...
#a = get_object_or_404(Article, **?XXX?**)
#a = Article.objects.get(pk=**?XXX?**)
form = ArticleForm(request.POST, instance=a) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
form.save()
return redirect('/articles/') # Redirect after POST
else:
form = ArticleForm() # An unbound form
return render(request, 'article_form.html', {'form': form})
ここで、POST で送信された ID に基づいて Article オブジェクトを設定するための 2 つの可能なオプションをコメントアウトしました。? XXX ? 渡された ID を参照する方法がわからないことを示します。
これらの 2 つのオプション、および代替オプションに関するご意見をお待ちしております。