gpt4 book ai didi

django - 我应该如何在我的模型中使用 DurationField?

转载 作者:IT老高 更新时间:2023-10-28 20:33:40 26 4
gpt4 key购买 nike

在我的模型中,我希望能够输入持续时间,例如 2 年5 个月 等。

在 1.8 版中引入了 DurationField,所以我尝试使用它:

在我的模型中

user_validPeriod = models.DurationField()

尝试从我的管理面板添加一个新的 User,如果我尝试在出现的文本中输入类似 2d2 days 的内容-虽然我得到 Enter a valid duration.

enter image description here

谁能给我举个例子说明这个字段应该如何使用?

最佳答案

要在 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.timedelta here 的更多信息和 DurationField here .

在您的管理面板中,您可以使用以下格式的字符串输入持续时间:[DD] [[hh:]mm:]ss

关于django - 我应该如何在我的模型中使用 DurationField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30222660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com