Django(版本 1.1.4 值得)任意找不到我的一个数据库表中的项目。有问题的对象管理器是默认的。下面是两个示例,第一个显示问题的范围,第二个提供了它的特定实例。
姜戈:
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)
本身就够奇怪了。现在这是一个在数据库中但未显示的单个对象的示例:
姜戈:
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 内部深处的一个错误。但也有可能我忽略了一些明显的东西。那会是什么?