Skip to main content

Django 中的 UnixDateTimeField

项目描述

# django-unixdatetimefield

[![构建状态]( https://travis-ci.org/Niklas9/django-unixdatetimefield.svg?branch=master)](https://travis-ci.org/Niklas9/django-unixdatetimefield ) [![最新版本]( https://img.shields.io/pypi/v/django-unixdatetimefield.svg?style=flat ) ]( https://pypi.python.org/pypi/django-unixdatetimefield/ ) [![下载]( https://pepy.tech/badge/django-unixdatetimefield/week)]( https://pepy.tech/project/django-unixdatetimefield )

为您的 Django 模型提供 UnixDateTimeField。现在也支持 Django 3。

我发现这在将 Django 集成到遗留数据库时特别有用,其中典型的 DateTime 列类型被存储为 Unix 时间戳(http://en.wikipedia.org/wiki/Unix_time)。

UnixDateTimeField 基于标准 Django DateTimeField 的实现,使其 100% 兼容它支持的所有功能和选项。

## 用法

首先,您需要将 UnixDateTimeField 附加到您的模型。这相当于数据库级别的 Django PositiveIntegerField,但在 ORM 抽象层提供了 Django DateTimeField。

示例模型:

从 django_unixdatetimefield 导入 UnixDateTimeField

类 MyModel(models.Model):

created_at = UnixDateTimeField()

Python ORM 查询:

>>> m = MyModel()
>>> m.created_at = datetime.datetime(2015, 2, 21, 19, 38, 32, 209148)
>>> m.save()

数据库:

sqlite> 从 mymodel 中选择 created_at;1426967129

享受!

## 安装

使用 pip 安装:

pip install django-unixdatetimefield

## 兼容性当前支持矩阵(针对每个版本进行例行测试,有关更多详细信息,请参阅.travis.yml):

  • Django 1.11.x 与 Python 2.7、3.4、3.5

  • Django 2.0.x 和 Python 3.4

  • Django 2.xy 与 Python 3.5

  • Django 2-3.x 与 Python 3.6、3.7、3.8

由于这个库的主要用例是与遗留数据库集成——我热衷于保持对旧版本的 Python 和 Django 的支持。如果您正在使用不受支持的组合,请告诉我,我很乐意尝试看看我们是否可以支持它。

我承认并尊重那些喜欢在他们的数据库中使用 unix 时间戳的人,但根据我的经验,这些开发人员越来越少:)

## Contributing 该项目通过 GitHub 拉取请求接受贡献。

### 测试我发现测试 Python 和 Django 版本的不同组合的最简单方法是使用 Docker,使用简单的标志启动,例如 Python 2.7 或 3.8,例如 Django 1.11.x 或 Django 3。 X。对于任何想要测试或贡献的人,我相信这是最快的方式。有一个名为build_n_run.sh的帮助文件,它将构建 docker 映像并自动启动一个容器。

### 上传到 pypi 总的来说,我认为本指南非常有用 – https://www.digitalocean.com/community/tutorials/how-to-package-and-distribute-python-applications。由于该项目中已经设置了所有设置,因此应该只是

  1. $ python3 setup.py sdist

  2. $ python3 setup.py sdist 上传

记得事先更新setup.pydjango_unixdatetimefield/__init__.py中的版本号。

## 许可 BSD,就像主要的 Django 项目一样。请参阅此 repo 根目录中的LICENSE文件。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-unixdatetimefield-1.2.0.tar.gz (5.6 kB 查看哈希)

已上传 source