django unix时间戳(posix类型)字段

django-unixtimestampfield的Python项目详细描述


https://img.shields.io/travis/myyang/django-unixtimestampfield.svghttps://img.shields.io/pypi/v/django-unixtimestampfield.svghttps://coveralls.io/repos/myyang/django-unixtimestampfield/badge.svg?service=github

提供存储为float(utc posix timestamp)并用作datetime实例的自定义字段。

要求

  • 支持float类型的数据库是兼容的
  • Python2.7,3.4与django 1.8,1.9

note:由于1.8是LTS版本,所以我选择从1.8支持。 SubClassing will be removed in 2.0,所以我只处理from_db_value()。 如果您能帮助<;=1.7版,欢迎~~:d

安装

pip install django-unixtimestampfield

用法

用于以下型号:

fromdjango.dbimportmodelsfromunixtimestampfield.fieldsimportUnixTimeStampFieldclassModelA(models.Model):created=UnixTimeStampField(auto_now_add=True)modified=UnixTimeStampField(auto_now=True)str_ini=UnixTimeStampField(default='0.0')float_ini=UnixTimeStampField(default=0.0)int_ini=UnixTimeStampField(default=0.0)dt_ini=UnixTimeStampField(default=timezone.now)num_field=UnixTimeStampField(use_numeric=True,default=0.0)

操作示例:

>>>m=modelA.objects.create()>>>m.createddatetime.datetime(2015,9,2,10,41,41,937257,tzinfo=<UTC>)>>>m.int_inidatetime.datetime(1970,1,1,0,0,tzinfo=<UTC>)>>>m.int_ini=3>>>m.save()>>>m.int_inidatetime.datetime(1970,1,1,0,3,tzinfo=<UTC>)>>>m.num_field0.0

字段选项

  • auto_now:设置为true以便在保存时更新,就像datetimefield一样
  • auto_now_add:设置为true以便在创建时更新,就像datetimefield一样
  • 舍入到:舍入(值,num)的百分比(num),默认值:6
  • 使用浮点值在v0.3中已弃用,请参阅使用数值
  • 使用数值:将实例属性设置为true,默认为false

django设置

如果将“使用z”设置为“假”,则在访问属性时返回不带tz info的当前日期时间(在UTC时区中)信息。

示例:

# In settings.pyUSE_TZ=False>>>m=modelA.objects.create()>>>m.createddatetime.datetime(2015,9,2,10,41,41,937257)

模板标签

加载模板标记:

{% load unixtimestampfield %}

提供两个django模板筛选器标记:

  • 到日期时间:将值筛选为日期时间
  • to_timestamp:将值筛选为timestamp

复杂的子中间件

由于值是以浮点形式存储的,因此很难识别并导致这种复杂的中间件。

这里有3种显示数据的模式:

  • usf_default:根据字段的use_numeric选项,默认显示数据。这也是默认设置。
  • usf_datetime:始终转换为datetime对象
  • usf_时间戳:始终转换为时间戳

使用usf_格式在settings.py中指示显示警察。让我们看看例子。

假设模型B为:

classModelB(models.Model):num_field=UnixTimeStampField(use_numeric=True,default=0.0)dt_field=UnixTimeStampField(default=0.0)

然后获取所需的字段值:

>>>m=ModelB()# with USF_FORMAT='usf_default' in settings.py>>>m.num_field,m.dt_field(0.0,datetime.datetime(1970,1,1,0,0))# with USF_FORMAT='usf_datetime' in settings.py>>>m.num_field,m.dt_field(datetime.datetime(1970,1,1,0,0),datetime.datetime(1970,1,1,0,0))# with USF_FORMAT='usf_timestamp' in settings.py>>>m.num_field,m.dt_field(0.0,0.0)

版本

v0.3.9–修复setup.py中包含的包

v0.3.8–修复了错误:将submiddleware应用到auto\u now字段并检查submiddleware中的格式

v0.3.7–检查最小值。

v0.3.6–修复时区问题。所有记录都存储在UTC时区,并在检索时转换。

v0.3.5.1–整数兼容性和修复时区问题

v0.3.5–解析时间格式:yyyy-mm-dd hh:mm:ss[.ffffff]

v0.3.4——修复了错误。

v0.3.3–添加子中间件和模板标记

v0.3–添加顺序时间字段并更改字段选项use_floatuse_numeric!!!

v0.2–在初始化时处理formfield并添加选项

v0.1–添加了unixtimestampfield

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本