Не удается преобразовать ключевое слово 'available_from_gte' в поле. Варианты: available_from, available_till, id, room, room_id
У меня есть следующие модели.
class Room(models.Model):
room_number = models.PositiveSmallIntegerField(
validators=[MaxValueValidator(1000), MinValueValidator(1)],
primary_key=True
)
class TimeSlot(models.Model):
room = models.ForeignKey(Room, on_delete=models.CASCADE)
available_from = models.TimeField()
available_till = models.TimeField()
Вот мой views.py
keys = ['room', 'available_from_gte', 'available_till_lte']
values = [room_obj, available_from, available_till]
# room_obj contains object of Room model. available_from and available_till contains time in 02:00:00 format.
parameters = {}
for key, value in zip(keys, values):
if value is not None and value !=[] and value != '':
parameters[key] = value
time_slots_list = TimeSlot.objects.filter(**parameters)
При выполнении приведенного выше кода я получаю следующую ошибку.
Cannot resolve keyword 'available_from_gte' into field. Choices are: available_from, available_till, id, room, room_id
Может ли кто-нибудь помочь мне с этим?
Я полагаю, что вы ищете available_from__gte
. Обратите внимание на двойное подчеркивание перед gte. Доступ к связанным полям и поиск, например, in
и gte
обозначаются двумя знаками подчеркивания в именах полей.