#django #django-models
Вопрос:
Я создаю приложение для аренды в Django, которое имеет логическое поле rental_status.
rental_status = models.BooleanField(default = False)
- rental_status описывает, уже ли продукт арендован или доступен для аренды.
- значение по умолчанию равно true, т. е. доступно для аренды.
- Рассмотрим ситуацию, когда человек сдает товар в аренду на x промежуток времени, и мы меняем значение rental_status на false.
Итак, мой вопрос в том, как мы можем изменить rental_status на true через x раз, чтобы его можно было снова арендовать.
(Я понимаю, что мой способ реализации не является хорошим или идеальным, но это только для проекта. Пожалуйста, предложите, есть ли какие-либо другие лучшие реализации)
Ответ №1:
Вы также должны где-то хранить дату, до которой он сдан в аренду, например.
rented_until = models.DateField("Rented until date", null=True)
Если для этого нет других условий rental_status
, то вам больше не нужно это поле, и вы можете использовать только это.
Чтобы узнать о незанятых объектах недвижимости, используйте filter()
значение даты, которое вас интересует (в конечном итоге также примите во внимание потенциальную null
стоимость).:
# find properties which are available from today further on
MyModel.objects.filter(rented_until__lt=date.today())