Внутри моделей у меня есть:
- Название отеля
- Цена за каждую ночь.
models.py:
class Hotel_Database(models.Model):
hotel_name = models.CharField(max_length=20)
class Hotel_Date_Price(models.Model):
hotel = models.ForeignKey(Hotel_Database, on_delete=models.CASCADE , related_name='hotel')
checkin = models.DateField(default= datetime.date.today())
checkout = models.DateField(default=datetime.date.today() + datetime.timedelta(1))
price = models.IntegerField()
views.py:
import datetime
x = Hotel_Database.objects.get(id=1)
#the price for the night of June 26th:
Hotel_Date_Price.objects.create(hotel = x, checkin= datetime.date(2018, 6, 27), checkout=datetime.date(2018, 6,28), price=50).save()
#the price for the night of June 27th:
Hotel_Date_Price.objects.create(hotel = x, checkin= datetime.date(2018, 6, 28), checkout=datetime.date(2018, 6,29), price=50).save()
Hotel_Database.objects.filter(hotel_name__icontains='Hotel', hotel__checkin__lte=datetime.date(2018, 6, 27), hotel__checkout__gte=datetime.date(2018, 6, 28))
#results: <QuerySet [<Hotel_Database: Shangri-La>]>
Теперь вот что происходит, когда я пытаюсь отфильтровать более чем одну ночь:
Hotel_Database.objects.filter(hotel_name__icontains='Hotel', hotel__checkin__lte=datetime.date(2018, 6, 27), hotel__checkout__gte=datetime.date(2018, 6, 29))
#results: <QuerySet []>
# it returns an empty list
Я в основном пытаюсь изменить цену каждой ночи