Jango模型的时间字段

django-timedeltafield的Python项目详细描述


示例

事件模型:

from django.db import models
import timedelta

class Event(models.Model):
    start = models.DateTimeField()
    duration = timedelta.fields.TimedeltaField()

    @property
    def finish(self):
        return self.start + self.duration

在字段中存储数据:

evt = Event.objects.create(
    start=datetime.datetime.now(),
    duration=datetime.timedelta(hours=1)
)
print evt.finish

evt.duration = datetime.timedelta(minutes=3)
print evt.finish

# We can use valid strings of the format described above.
Event.objects.update(duration='2 hours, 45 minutes')

evt = Event.objects.get(pk=evt.pk)
print evt.finish

# We can also assign directly to this field a valid string.
evt.duration = '3 days, 2 hours'
evt.save()

# Note: we need to re-fetch to ensure conversion to timedelta
evt = Event.objects.get(pk=evt.pk)
print evt.finish

与窗体一起使用。

您可以只使用一个modelform,它将自动选择 timedeltaformfield ,它将处理 格式化字符串和TimeDelta对象。

或者您可以直接使用表单域:

from django import forms
import timedelta

class EventForm(forms.Form):
    start = forms.DateTimeField()
    duration = timedelta.forms.TimedeltaFormField()

此表单域将以以下格式显示值:

2 day, 3 hours, 1 minute

并将解析类似格式的数据。

查看tests.py中的表单字段/小部件输出示例。

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

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像