gpt4 book ai didi

python - 为匿名用户提供与注册用户相同的功能

转载 作者:太空狗 更新时间:2023-10-29 22:08:39 25 4
gpt4 key购买 nike

我正在使用 Django 开发一家在线商店(目前只是一个基本的购物车),我计划为用户添加将商品标记为收藏的功能(就像在 stackoverflow 中一样)。购物车的模型看起来像这样:

class Cart(models.Model):
user = models.OneToOneField(User)

class CartItem(models.Model):
cart = models.ForeignKey(Cart)
product = models.ForeignKey(Product, verbose_name="produs")

收藏夹模型只是一个包含两行的表格:用户和产品。

问题是这只适用于注册用户,因为我需要一个用户对象。我如何才能让未注册的用户也使用这些功能,将数据保存在 cookie/ session 中,以及何时以及如果他们决定注册,将数据移动给他们的用户?

我想一个选项是某种通用关系,但我认为这有点复杂。也许在 user 之后有一个额外的行是一个 session 对象(直到现在我还没有真正在 django 中使用过 session ),如果 User 设置为 None,使用它吗?

基本上,我想问的是,如果您以前遇到过这个问题,您是如何解决的,最好的方法是什么?

最佳答案

我以前没有这样做过,但是通过阅读你的描述,我会在有人需要做一些需要它的事情时简单地创建一个用户对象。然后,您向用户发送一个链接到该用户对象的 cookie,因此如果有人回来(没有清除他们的 cookie),他们将获得相同的框架用户对象。

这意味着您可以使用当前代码进行最少的更改,并且当他们想要迁移到完整注册用户时,您只需使用他们的详细信息填充骨架用户对象。

如果您想让您的数据库保持整洁,您可以添加一个任务来删除所有在过去 30 天内未使用过的骨架用户。

关于python - 为匿名用户提供与注册用户相同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/925456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com