首页 > 解决方案 > 如何保存用户会话后可以访问的数据库中搜索导航栏中的用户查询词?

问题描述

我有一个搜索导航栏,我想保存搜索查询,以便改进导航栏和自动完成 api,但我不确定如何。会话变量似乎仅在用户在线并且很难保存许多用户时才起作用。我是否应该创建自己的用户模型,然后向其中写入数据。你能给我一个简单的例子来说明如何做到这一点吗?

我尝试使用 sessions.request 保存变量,然后在会话后访问它们并且无法访问。

标签: djangodjango-sessions

解决方案


您的问题有点不清楚,但是如果您需要的话,为什么不为用户模型的搜索词和外键创建一个表。例如:

class SearchTerm(models.Model):
    keywords = models.TextField()
    user = models.ForeignKey(User)

自然,这仅适用于登录用户,您可以在视图中执行以下操作:

def search(request):
    keywords = request.get('keywords')
    user = request.user
    st, created = SearchTerm.objects.get_or_create(keywords=keywords, user=user)

看,这是一个非常简单的例子来说明我认为你想要做什么,但我不确定我是否完全理解你的问题。


推荐阅读