我有一个 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 的匿名用户(时间戳与随机哈希连接?),然后将该用户名保存在会话数据中。如果我确保该会话变量(如果存在)用于记录该用户的所有项目活动,我应该能够在用户注册时使用用户的真实凭据更新项目。
这是否过于复杂和脆弱?我是否冒着不必要地保存数千行数据的风险?这个常见问题的最佳方法是什么?
对此的任何指导将不胜感激。