Django 1.2.4 release notes

欢迎来到Django 1.2.4!

这是Django 1.2系列中的第四个“bugfix”版本,提高了Django 1.2代码库的稳定性和性能。

有一个例外,Django 1.2.4保持与Django 1.2.3的向后兼容性。它还包含一些修复和其他改进。Django 1.2.4是当前使用或针对Django 1.2的任何开发或部署的推荐升级。

有关新功能,向后兼容性和1.2版本中已弃用的功能的完整详情,请参阅Django 1.2 release notes

Backwards incompatible changes

Restricted filters in admin interface

Django管理界面django.contrib.admin支持通过相应模型上的字段(包括跨数据库级关系)对显示的对象列表进行过滤。这是通过在URL的查询字符串部分中传递查找参数来实现的,而ModelAdmin类上的选项允许开发人员指定将生成用于过滤的自动链接的特定字段或关系。

一个历史上未记录的和非官方支持的特征是用户具有足够的知识的模型的结构和这些查找参数的格式通过操纵查询字符串发明有用的新过滤器的能力。

为了解决这个问题,django.contrib.admin现在将验证查询字符串查找参数只指定正被查看的模型的字段,或者已经被应用程序开发人员使用上述预先存在的机制显式列入白名单的交叉关系。这对于依赖于先前能够插入任意查找的任何用户而言是向后不兼容的。

One new feature

通常,点释放不会包括新的功能,但在Django 1.2.4的情况下,我们已经做了这个规则的例外。

Django 1.2.4中修复的一个错误涉及一组情况,即在多数据库配置上运行测试套件可能会导致原始源数据库(即实际生产数据库)被丢弃,从而导致灾难性的数据丢失。为了提供此问题的修复,有必要引入一个新设置 - TEST_DEPENDENCIES - 允许您在数据库配置中定义任何创建顺序依赖关系。

大多数用户(即使是具有多数据库配置的用户)也不必担心数据丢失错误或手动配置TEST_DEPENDENCIES有关详细信息,请参阅controlling the creation order of test databases原始问题报告文档。

GeoDjango

之前用于执行GeoDjango测试套件django.contrib.gis.tests.run_gis_tests的基于函数的TEST_RUNNER最终被弃用,支持基于类的测试运行器,django.contrib.gis.tests.GeoDjangoTestSuiteRunner,在此版本中添加。

In addition, the GeoDjango test suite is now included when running the Django test suite with runtests.py and using spatial database backends.