gpt4 book ai didi

mysql - 为什么 Django ORM 找不到明显在我的数据库中的项目?

转载 作者:行者123 更新时间:2023-11-29 00:45:38 33 4
gpt4 key购买 nike

Django(1.1.4 版的值(value))随意找不到我的一个数据库表中的项目。有问题的对象管理器是默认的。下面是两个示例,第一个显示问题的范围,第二个提供问题的特定实例。

Django :

In [5]: LocalStore.objects.all().count()
Out[5]: 1466

MySQL:

mysql> select count(*) from stores_localstore;
+----------+
| count(*) |
+----------+
| 1553 |
+----------+
1 row in set (0.00 sec)

本身就够奇怪的了。下面是数据库中但未显示的单个对象的示例:

Django :

In [37]: LocalStore.objects.filter(id=474361)
Out[37]: []
In [39]: print LocalStore.objects.filter(id=474361).query
SELECT `stores_localstore`.`id`, `stores_localstore`.`cust_id`,
`stores_localstore`.`name`, `stores_localstore`.`lat`, `stores_localstore`.`lng`,
`stores_localstore`.`addr1`, `stores_localstore`.`addr2`, `stores_localstore`.`city`,
`stores_localstore`.`email`, `stores_localstore`.`fax`, `stores_localstore`.`phone`,
`stores_localstore`.`state`, `stores_localstore`.`url`, `stores_localstore`.`zip` FROM
`stores_localstore` WHERE `stores_localstore`.`id` = 474361

出于隐私原因,我不想向您展示 MySQL 查询的确切结果,但足以说明它确实返回了一个数据库行。

这让我觉得这是非常奇怪的行为,并且可能是 Django ORM 深处的一个错误。但也有可能我忽略了一些明显的东西。那会是什么?

最佳答案

Django 正在查看与您连接的数据库不同的数据库,或者您已经告诉 Django 以某种方式进行缓存。 Django 不会“丢失”数据。

验证 django 连接到正确的数据库:

from django import db
db.settings.DATABASES.get('default')

关于mysql - 为什么 Django ORM 找不到明显在我的数据库中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10635447/

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