在我的模型中,我希望能够输入持续时间,如2 years、5 months等.
在版本1.8中引入了DurationField,所以我try 使用它:
在我的模型中
user_validPeriod = models.DurationField()
try 从我的管理面板添加新的User,如果我try 在出现的文本字段中键入类似2d或2 days的内容,但得到的是Enter a valid duration
.
有人能为我提供一个如何使用这个字段的例子吗?
在我的模型中,我希望能够输入持续时间,如2 years、5 months等.
在版本1.8中引入了DurationField,所以我try 使用它:
在我的模型中
user_validPeriod = models.DurationField()
try 从我的管理面板添加新的User,如果我try 在出现的文本字段中键入类似2d或2 days的内容,但得到的是Enter a valid duration
.
有人能为我提供一个如何使用这个字段的例子吗?
要在django 1.8中使用DurationField,必须使用python datetime.timedelta
实例,如下所示:
考虑到此模型:
from django.db import models
class MyModel(models.Model):
duration = models.DurationField()
您可以通过以下方式设置持续时间:
import datetime
my_model = MyModel()
my_model.duration = datetime.timedelta(days=20, hours=10)
并这样查询:
# Equal
durations = MyModel.objects.filter(duration=datetime.timedelta(*args, **kwargs))
# Greater than or equal
durations = MyModel.objects.filter(duration__gte=datetime.timedelta(*args, **kwargs))
# Less than or equal
durations = MyModel.objects.filter(duration__lte=datetime.timedelta(*args, **kwargs))
有关datetime.timedeltahere和DurationField here的更多信息.
在您的管理面板中,您可以使用以下格式的字符串输入持续时间:[DD] [[hh:]mm:]ss