💡 原文英文,约3200词,阅读约需12分钟。
📝

内容提要

这篇文章介绍了Django 5.0中的新功能GeneratedField,以及如何在GeoDjango和PostgGIS中使用它。GeneratedField是一个完全由数据库计算的字段,适用于所有支持的后端数据库。文章提供了使用GeneratedField的模型示例,并介绍了相关的属性和迁移过程。作者还分享了一些使用GeneratedField的实际示例,包括计算地理哈希、长度和面积等字段。总的来说,GeneratedField是一个强大的工具,可以解决各种问题,并将逻辑带回数据库层。

🎯

关键要点

  • GeneratedField是Django 5.0中的新特性,完全由数据库计算其值。
  • GeneratedField适用于所有支持的后端数据库。
  • 使用GeneratedField可以在GeoDjango和PostgGIS中创建模型。
  • GeneratedField的值不能被设置或修改,自动由数据库计算。
  • 定义GeneratedField时需要指定expression、output_field和db_persist属性。
  • db_persist属性使得数据库列占用存储空间,像真实列一样。
  • 使用PostGIS作为数据库后端时,GeneratedField可以持久化存储。
  • 迁移过程中生成的SQL代码使用GENERATED ALWAYS SQL (...) STORED语法。
  • 实验Django GeneratedField需要Python 3、Django 5.0和Psycopg等环境。
  • GeoDjango是Django的一个模块,支持地理数据处理。
  • 可以通过创建样本应用程序来测试GeneratedField的功能。
  • 示例模型展示了如何使用GeneratedField计算地理哈希、长度和面积等字段。
  • GeoDjango提供多种函数用于地理字段的信息提取和转换。
  • 在Django shell中可以验证模型的行为是否符合预期。
  • 生成的字段可以简化不同应用程序在同一数据库上的协作。
🏷️

标签

➡️

继续阅读