问题标签 [django-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
995 浏览

mysql - 为什么 Django 不“真正”支持自动表更新?

最近我一直在尝试学习 Django 中的 Web 开发,对此我感到非常高兴...

但是,有一件事真的很烦人——尤其是当您了解 django 背后的“简单”理念时。

就像我刚刚经历的那样,在 django 中更新表格真的远非简单。

例如,就像我的真实案例一样,我在开始时跳过了为条目标题添加一个 slug 字段。但是过了一会儿,我想在表格中添加一个 slug 列,就像每个 django 菜鸟可能期望的那样,我尝试了python manage.py syncdb命令。当然它没有用......经过一番搜索,我发现“我需要在 dbshel​​l 命令行中'手动'添加一个新列”(我使用的数据库是 mysql)。

我不知道为什么,但我认为这是一件非常有趣的事情,在我看到在 django 中创建网站是多么简单之后,我从未想到过。大家不这么认为吗?或者如果您有任何其他解决方案或任何即将到来的事情,您能分享一下吗?

提前致谢...

PS。我不介意在 shell 中与 db 相处,但我想知道的是为什么它在 django 中是这样的......

0 投票
1 回答
1202 浏览

django - 缓存查询集和重新评估

我将发布一些不完整的代码以简化示例。我正在运行一个递归函数来计算层次结构上的一些指标。

类类别(模型。模型):

我希望有足够的代码来看看发生了什么。我在这里追求的是一个递归函数,它每次只运行一次这些查询,然后将结果传递下来。现在似乎没有发生这种情况,而且它正在扼杀性能。这是 PHP/MySQL(在使用 Django 之后我不喜欢它们!)我可以只运行一次查询并将它们传递下去。

根据我对 Django 查询集的了解,它们不会在我的 if queryset == None then queryset=stuff 部分中进行评估。我怎么能强迫这个?当我做类似的事情时会重新评估它metric_queryset.filter(category=self)吗?

我不关心数据的新鲜度。我只想为每个指标和评级从数据库中读取一次,然后稍后对其进行过滤,而无需再次访问数据库。这是一个令人沮丧的问题,感觉应该有一个非常简单的答案。酸洗看起来可以工作,但在 Django 文档中并没有很好地解释。

0 投票
2 回答
1778 浏览

django - 监控 Django 中的数据库请求,与行号相关联

我们的项目中发生了一些非常奇怪的无关数据库命中。有没有办法监控请求的来源,可能是行号?SQL 打印中间件有帮助,但我们到处查看可能会生成这些类型的请求,但找不到源。

如果上述内容不可行,任何有关缩小来源范围的指针将不胜感激。

0 投票
1 回答
2218 浏览

python - 跨 django ManyToManyField 的数据库查询

我想找到如何选择其 ManyToMany 字段包含另一个对象的所有对象。我有以下模型(精简)

我需要一个功能来选择一个或多个类别中的所有图片:

但如果可能的话,它需要返回一个 QuerySet 以便我可以执行以下操作:

这可以通过加载所有相关的 Category 对象并合并它们的 picture_set 属性来完成,但这似乎效率低下。如果可能的话,我还想避免使用原始 SQL。

提前致谢

0 投票
6 回答
8817 浏览

python - 具有百万行的 Django 表

我有一个包含 2 个应用程序(书籍和阅读器)的项目。

Books 应用程序有一个包含 400 万行的表,其中包含以下字段:

为了避免用 400 万行查询数据库,我正在考虑按主题划分它(20 个模型,20 个表,200.000 行( book_horror,book_drammatic,ecc)。

在“阅读器”应用程序中,我正在考虑插入以下字段:

因此,我正在考虑使用整数“book_subject”(允许访问适当的表)和“book_id”(允许访问“book_subject”中指定的表中的书)来代替 ForeignKey。

避免查询具有 400 万行的表是一个很好的解决方案吗?

有替代解决方案吗?

谢谢^__^

0 投票
3 回答
5881 浏览

django - Django 和 NoSQL,任何现成的库?

到目前为止,Django 与几个 RDBMS 有很好的集成。NoSQL、无模式和面向文档的 DBMS 正在兴起。这些流行的 DBMS 与 Django 的集成情况如何?是否有任何可用于 Django 的生产就绪或至少可以使用的库?

到目前为止,我手头有这些:

0 投票
1 回答
1732 浏览

django - 在使用 Django 的“manage.py 测试”时对 settings.py 中的“实时”数据库进行单元测试

如果您在 Django 中设置了数据库,如何让 TestRunner 使用“实时”数据库(根据 DATABASE_* 中的设置settings.py)而不是在临时测试数据库上运行它们。

例如,我想在live指定的数据库上运行以下测试settings.py

目前上面的代码只会保存到已经构建好的测试数据库中。这是非常有限的,因为我的应用程序有多个在数据库上工作的并行进程——而且我的单元测试将是不完整的(并且不连贯的),而无法将内容泵入“实时”数据库并查看它们在短暂睡眠后所处的位置。

我能想到的两个潜在选择是:

  1. 插入 Django API 以了解如何“手动”连接到 settings.py 中的数据库

  2. 与“实时”数据库建立低级连接并手动填充它

先验是有问题的,因为它依赖于 Django 的公共 API 下的东西。后者是有问题的,因为它放弃了与数据库无关的 Django 数据库 API,并且需要更多的手动操作。

我很感激你的想法和意见。

布赖恩

0 投票
4 回答
4606 浏览

django - 从 Django 中的现有数据库生成一些模型

我知道这存在

但是,有没有简单的方法来限制它?无需手动删除我不想要的内容。

我正在连接一个有一百多个表的数据库,但我只想要大约 4 或 5 个模型。有没有一种简单的方法可以从几个给定的表生成模型?

它们是相当大的桌子,所以我也不喜欢把它们都打出来。

0 投票
2 回答
8780 浏览

mysql - 如何让 Django 使用不受支持的 MySQL 驱动程序,例如 gevent-mysql 或 Concurrence 的 MySQL 驱动程序?

我对在 Concurrence 或 gevent 等异步框架上运行 Django 很感兴趣。这两个框架都带有自己的异步 MySQL 驱动程序。

问题是 Django 只官方支持 MySQLdb。我需要做什么才能使 Django 与 gevent 或 Concurrence 附带的 MySQL 驱动程序一起工作?

是否有我可以遵循的分步指南?这是一项重大事业吗?

谢谢。

0 投票
1 回答
1585 浏览

python - 如何使 Django 与 MySQL 连接器/Python 一起工作?

有没有人让 Django 与 myconnpy 一起工作?

我已经查看了http://github.com/rtyler/connector-django-mysql但作者说它非常过时并且不受支持。

如果你设法让 Django 与 myconnpy 一起工作,请分享你的经验。

谢谢。