用于日期时间可用性的Django模型

时间:2015-05-25 08:39:14

标签: python django

我正在开发一个示例应用程序来预订其他用户的项目。我遇到了一个障碍,因为我无法弄清楚当物品可以租用时如何建模。

要求:

  • 用户可以每天或每小时租用物品。
  • 所有者可以选择日期,小时项目可用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在项目模型上,添加两个日期时间字段,例如" bookedStart"和"预订结束"。并且有一个函数isBooked()来检查给定的日期时间或当前的日期时间是否在该时间范围内,如果是,则返回True,否则返回False。

如果用户应该能够在项目可用时添加多个时间帧(一次性),则可以为其创建单独的模型,例如BookedItem,并在其中添加开始和结束日期时间字段,以及用户和项目的外国字段。再一次,isAvailable()或isBooked()函数。

答案 1 :(得分:1)

如果我收到此要求,我将设计一个表格如下:

class RentedItemsList(models.Model):
    item = models.CharField(...)
    rented = models.BooleanField(...)
    rent_at = models.DateTimeField(...)
    return_at = models.DateTimeField(...)

说明

  • item存储项目名称。
  • rented代表状态。 1可用。 0不可用。
  • rent_at表示用户想要租用某个项目的时间。它将更新此列。
  • return_at表示用户想要每天或每小时租用商品。它将设定截止日期。

我认为它可以帮助您弄清楚当物品可以租用时的模型。你可以参考一下。

完全取决于您如何设计API来访问模型。