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