【问题标题】:django models related managerdjango模型相关经理
【发布时间】:2022-01-13 00:59:28
【问题描述】:

我想为房间预订开发 DJANGO 应用程序。 我想使用以下两个模型。

class Room(models.Model):  
    room_no = models.IntegerField()
    remarks = models.CharField(max_length=100)
    
    def __str__(self):
        return self.remarks

class Roombooking(models.Model):    
    room = models.ForeignKey(Room, related_name= 'roombookingforroom', on_delete=models.CASCADE)
    booked_for_date = models.DateField(blank=True, null=True)
    booked_by = models.TextField(max_length=1000, default='')
    remarks = models.CharField(max_length=100,)

    class Meta:
        constraints = [
            models.UniqueConstraint(
                fields=["suit", "booked_for_date"],
                name="unique_room_date",
            ),
        ]

    def __str__(self):
        return self.room.remarks

为避免在任何一天将一个房间分配给 2 个不同的人,使用了“UniqueConstraint”。

现在,如何查询DATE1到DATE2的空置房间列表

【问题讨论】:

    标签: django model


    【解决方案1】:

    您可以按日期过滤房间预订

    gte = 大于或等于

    lte = 小于或等于

    query = Roombooking.objects.filter(booked_for_date__gte=DATE1, booked_for_date__lte=DATE2)
    

    *注意,DATE1 和 DATE2 应该是日期时间类型

    你可以去official documentation看看

    【讨论】:

    • 我想要从 DATE1 到 DATE2 的房间空置。预订房间后,留下房间的信息。不是 DATE1 到 DATE2 的“Roombookings”信息
    猜你喜欢
    • 2018-11-30
    • 2012-06-04
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2016-02-16
    • 2017-06-22
    相关资源
    最近更新 更多