如何在用户会话之后从数据库中的搜索导航栏中保存用户查询词?

时间:2019-04-24 04:47:09

标签: django django-sessions

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

我尝试使用session.request保存变量,然后在会话结束后访问它们,但是无法访问。

1 个答案:

答案 0 :(得分:0)

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

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)

看,这是一个非常简单的示例,用于说明我认为您想做的事情,但是我不确定我是否已完全理解您的问题。