如何在Django mod中设计一个手动添加有效时间段的列

2024-09-28 01:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型,就是SubscribePlan,在这里

class SubscribePlan(models.Model):

    plan = models.CharField(max_length = 200)
    price = models.IntegerField(default=0)
    validity_period = models.DateTimeField()
    number_of_download = models.IntegerField(default = 0)

这里我想添加一个validity_period列,admin将手动添加有效时间,我知道django模型为Date提供了两种不同的数据类型,一种是DateField(),另一种是DateTimeField()

如果我没有错的话,DateTimeField()有两个参数,一个是auto_now,另一个是{}。在

更新

但我担心的是,我必须为管理员提供这样一个模型,管理员可以通过管理界面或管理面板手动设置一个有效时间段假设24小时或48小时或1天或2天。在

那么在这个例子中,什么是模型的data type,其中有效时间段可以手动输入?或者如果datatypeDateTimeField,那么参数应该是什么?提到我使用的是django 1.5


Tags: django模型default参数models管理员手动class
2条回答

{{I>这个字段不应该是一个整型字符,因为这个字段不应该是一个整型的

例如,让我们创建一个函数来检查订阅的有效性。在

对于整数字段

import datetime
def check_validity(start_time ,validity_period):
    if datetime.datetime.now() <= start_time + datetime.timedelta(hours=validy_period):
      return True
    return False

它还可以取决于在管理界面中使用什么样的控件(web元素)来输入有效期。如果管理接口有一个日期时间选择器或日历(它返回一个日期时间对象)来输入有效期,那么在您的模型中,validity_period字段的类型可以是DateTimeField()或DateField()。但是如果管理员提供的输入是1天或2天,那么它应该是IntegerField或CharField。在

相关问题 更多 >

    热门问题