django模型的时区实用程序

django-timezone-utils的Python项目详细描述


Latest VersionTest StatusCoverage StatusCode HealthSupported Python versionsLicenseDevelopment Status

django时区实用程序添加自动时区转换和支持 Django的公用事业。

建议、建设性的批评和反馈当然是 受到欢迎和赞赏。

文档

django时区实用程序的文档可在Read the Docs获得。

灵感

在很多情况下,我需要将时区信息存储到 一个模型,然后将另一个模型的日期时间基于该时区。如果你有 如果你必须处理这个问题,你就会知道这有多复杂。

我创建这些字段是为了简化基于 另一个字段或模型时区选择。而不用记住使用 Model.clean,我们现在可以使用生成的验证创建模型 进入模型领域。

快速示例

fromdatetimeimportdatetimefromtimezone_utils.fieldsimportLinkedTZDateTimeField,TimeZoneFieldfromtimezone_utils.choicesimportPRETTY_ALL_TIMEZONES_CHOICESclassLocation(models.Model):# ...timezone=TimeZoneField(choices=PRETTY_ALL_TIMEZONES_CHOICES)defget_location_timezone(obj):"""Returns the Location.timezone field from above"""returnobj.location.timezoneclassLocationReport(models.Model):# ...location=models.ForeignKey('app_label.Location',related_name='reports')# Populates from the Location.timezonetimestamp=LinkedTZDateTimeField(populate_from=get_location_timezone)classLocationPeriod(models.Model):# ...location=models.ForeignKey('app_label.Location',related_name='periods')# Sets the time to 12:00am in the location.timezonestart=LinkedTZDateTimeField(populate_from=get_location_timezone,time_override=datetime.min.time())# Sets the time to 11:59:59.99999pm in the location.timezoneend=LinkedTZDateTimeField(populate_from=get_location_timezone,time_override=datetime.max.time())

更改日志

  • 0.13修复了python 3在pypi上的错误。
  • 0.12添加对django 2.1的支持。支持Python3.7。放弃对django 1.8的支持。
  • 0.11删除了对django.db.models.fields.subclassing.subfieldbase的引用,这意味着现在只支持django 1.8+。删除了对python版本<;2.6的支持。django 1.6系列是最后一个支持python 2.6的系列。增加了对django 1.10的测试支持。将开发状态从beta更改为production/stable。
  • 0.10增加了对Python3.5和Django1.9的测试支持。
  • 0.9已将错误更正为time_override由于未首先转换到正确的时区而导致无效日期的位置。重构的转换代码。增加了对django 1.8的测试支持。已从安装要求中删除django-开发人员有责任拥有受支持的django版本。
  • 0.8已将错误更正为time_override由于未首先转换到正确的时区而导致无效日期的位置。在文档中添加了选项GROUPED_ALL_TIMEZONES_CHOICESGROUPED_COMMON_TIMEZONES_CHOICES
  • 0.7更正了DateTime.max.time()导致日期/时间不正确的错误。更改测试以通过字符串比较时间覆盖模型以防止将来的回归。添加了选项GROUPED_ALL_TIMEZONES_CHOICESGROUPED_COMMON_TIMEZONES_CHOICES
  • 0.6增加RTD文件。LinkedTzDateTimeField现在返回Overidden时区和时间中的DateTime对象。
  • 0.5错误修复:datetime.min.time()上的时间覆盖未能正确设置时间
  • 0.4删除了对Python2.5的支持
  • 0.3代码清理。
  • 0.2基于测试的多个错误修复。
  • 0.1初始版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用Ibatis在插入时返回ID(使用返回关键字)   java(org.hibernate.TransactionException)org。冬眠TransactionException:事务未成功启动   java小程序jwindow始终位于JNLP顶部   在Java中重新解析JSON对象?   java单击后将ListView数据移动到新屏幕   Mule ESB中的java WSA寻址特性   Java,对象编程:获取返回0值的方法   hibernate的Java通用问题,如何处理T get(K id)   java在使用超级CSV读取CSV时忽略引用   ssh使用Java远程运行命令   java如何向具体用户发送websocket消息?   在JAVA中,我可以在不指定的情况下使用条件运算符吗?