django.contrib.postgres

PostgreSQL有一些Django支持的其他数据库没有共享的特性。 这个可选模块包含许多PostgreSQL特定数据类型的模型字段和表单字段。

注意

Django是并将继续成为一个数据库不可知的Web框架。 我们鼓励那些为Django社区编写可重用的应用程序,在实际的情况下编写与数据库无关的代码。 但是,我们认识到使用Django编写的真实世界项目不需要与数据库无关。 事实上,一旦一个项目达到了一定的规模,改变底层的数据存储已经是一个重大的挑战,并且可能需要通过某些方式来改变代码库来处理数据存储之间的差异。

Django提供了许多只能用于PostgreSQL的数据类型的支持。 为什么(例如)一个contrib.mysql模块不存在,除了PostgreSQL拥有最丰富的受支持数据库的特性集以使其用户获得最大收益之外,没有什么根本原因。