django - 如何保存用户会话后可以访问的数据库中搜索导航栏中的用户查询词?
问题描述
我有一个搜索导航栏,我想保存搜索查询,以便改进导航栏和自动完成 api,但我不确定如何。会话变量似乎仅在用户在线并且很难保存许多用户时才起作用。我是否应该创建自己的用户模型,然后向其中写入数据。你能给我一个简单的例子来说明如何做到这一点吗?
我尝试使用 sessions.request 保存变量,然后在会话后访问它们并且无法访问。
解决方案
您的问题有点不清楚,但是如果您需要的话,为什么不为用户模型的搜索词和外键创建一个表。例如:
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)
看,这是一个非常简单的例子来说明我认为你想要做什么,但我不确定我是否完全理解你的问题。
推荐阅读
- python - 如何将块的结果放入 csv 列
- flutter - Different between shared preference and using redux
- postgresql - 自动检测 PostgreSQL 的主/从代理
- nuget - Artifactory nuget push - 不存在的用户(API 密钥/访问令牌)
- rxjs - 茉莉花测试期间出现意外错误(可观察到)
- makefile - 覆盖包含(删除路径)
- swift - 快速刷新标签栏控制器以在标签栏项目上显示徽章
- python-3.x - 如果所有行只包含标点符号,如何检查和删除熊猫列?
- docker - 使用 Transfer for on-premises 选项传输文件
- mongodb - MongoDB:必须每个索引都以 shardkey 为前缀