我有一个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"],
)
当然,这对于经过身份验证的用户来说很好,但我也希望能够存储匿名用户项目,如果可能的话,在用户最终注册和身份验证时将它们与用户相关联.
我的 idea 是创建名称=SOME_VARIABLE(时间戳与随机哈希连接?)的匿名用户,然后将该用户名保存在会话数据中.如果我确保使用会话变量(如果存在)来记录该用户所有项目活动,则我应该能够在项目注册时使用该用户的真实凭据更新项目.
这是不是过于复杂和易碎?我是否冒着不必要地保存数千行数据的风险?解决这一常见问题的最佳方法是什么?
任何关于这方面的指导都将不胜感激.