フォーム入力からユーザーと製品のデータを保存する django モデルがあります。
def ProductSelection(request, template_name='product_selection.html'):
...
if user.is_authenticated():
user = request.user
else:
# deal with anonymous user info
project = Project.objects.create(
user=user,
product=form.cleaned_data["product"],
quantity=form.cleaned_data["product_quantity"],
)
もちろん、これは認証されたユーザーには問題ありませんが、匿名ユーザーのプロジェクトを保存し、可能であれば、最終的に登録して認証するときにそれらをユーザーに関連付けたいと考えています。
私の考えは、name = some_variable (ランダムなハッシュと連結されたタイムスタンプ?) で匿名ユーザーを作成し、そのユーザー名をセッション データに保存することです。そのセッション変数が存在する場合、そのユーザーのすべてのプロジェクト アクティビティを記録するために使用されることを確認すると、登録時にユーザーの実際の資格情報でプロジェクトを更新できるはずです。
これは過度に複雑で脆いですか?何千行ものデータを不必要に保存するリスクはありますか? この一般的な問題に対する最適なアプローチは何でしょうか?
これに関するガイダンスは大歓迎です。