【发布时间】:2011-10-25 01:54:32
【问题描述】:
设置:
- Python 脚本 A 每 15 分钟向数据库插入一次数据
- Python 脚本 B 每隔几分钟查询最后 5 个条目
两者都使用 django 的 ORM,相同的 MySQL DB 和相同的 DB 用户帐户(相同的 settings.py 文件)
问题:
B 只能获取在运行之前插入的条目。好像 B 正在使用冻结的 DB 运行,在 B 第一次连接到 DB 时冻结。
怎么会?
我可以在 django 中控制这种行为吗?
【问题讨论】:
-
B 使用以下语法进行查询:
MyModel.objects.filter(a_datetime_field__gte=datetime.datetime(2011,08,11,14,15,0)).order_by('a_datetime_field') -
如果您使用 MySQL 和 InnoDB,请注意默认隔离级别是 REPEATABLE-READ。您可能更喜欢 READ-COMMITED。请参阅此答案以获取替代解决方案:stackoverflow.com/questions/3346124/…