gpt4 book ai didi

django - 如何使用 extra() 可移植跨数据库后端进行 Django 查询?

转载 作者:行者123 更新时间:2023-11-29 13:37:28 26 4
gpt4 key购买 nike

我有一个小项目涉及按出版年份浏览文章文件。

我使用了这个 other question 中给出的技巧建立文章发表年份和这些年份的文章数量列表。它在我的 SQLite 测试服务器上运行良好。由于生产服务器将依赖 PostgreSQL,我正在寻找一种在 PostgreSQL 中实现相同功能的方法,并最终使用了 EXTRACT 关键字。我使用诸如“导入设置”之类的东西来检测当前数据库后端并执行正确的查询。

我的观点是,所有这些看起来越来越像是一种肮脏和蹩脚的 hack,以一种非常不优雅、不可测试且难以维护的方式解决问题。作为一个网络程序员初学者,我问我有经验的长辈,

你会如何正确处理?

最佳答案

作为原始 sql 的一个选项:

您可以使用 ORM 计算每年的计数(例如 How to use Django ORM to get a list by year of all articles with an article count)

然后将该值存储在某处(在模型中或缓存中...),以免被 ORM 计算的缓慢所淹没。

关于django - 如何使用 extra() 可移植跨数据库后端进行 Django 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880969/

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