如何从用户会话后可以访问的数据库中的搜索导航栏中保存用户查询术语?

问题描述 投票:0回答:1

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

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

django django-sessions
1个回答
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)

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

© www.soinside.com 2019 - 2024. All rights reserved.