как я могу остановить мой цикл, если prod_Available < 0
(отрицательное значение) и возвращает status = 0
, иначе он возвращает status = 1
?.Возможно ли, что когда мой цикл встречает prod_Available < 0
, он прекращает цикл и возвращает status = 0
.?
, вот мой код:
def get_hotel_sum_quantity(self, product_id, checkin_date, checkout_date, quantity):
check_in = datetime.datetime.strptime(checkin_date, '%Y-%m-%d')
check_in = check_in.date()
start_date = check_in.day
check_out = datetime.datetime.strptime(checkout_date, '%Y-%m-%d')
check_out = check_out.date()
end_date = check_out.day
prod = Product.objects.get(id=product_id)
prod_Available = 0
array = []
for x in range(start_date,end_date + 1):
x = x - start_date
delta = datetime.timedelta(days=x)
all_date = check_in + delta
sumOfQuantity = HotelCheck.objects.filter(date_booked=all_date, product=prod).aggregate(Sum('quantity'))['quantity__sum']
if sumOfQuantity == None:
sumOfQuantity = 0
prod_Available = prod.quantity - sumOfQuantity
prod_Available = float(prod_Available) - float(quantity)
if prod_Available < 0:
status = 0
else:
status = 1
data = {'available': prod_Available, 'status': status, 'sumquantity': sumOfQuantity, 'quanity': quantity}
array.append(data)
return array
я уже вернул все значение, ноэто не остановит зацикливание, когда prod_Available < 0
вот что я сделал:
>>> from booking.models import *
>>> Hotel.objects.get_hotel_sum_quantity(3, '2011-12-21', '2011-12-24', 1)
[{'available': 1.0, 'status': 1, 'sumquantity': 8, 'quanity': 1}, {'available': 1.0, 'status': 1, 'sumquantity': 8, 'quanity': 1}, {'available': 1.0, 'status': 1, 'sumquantity': 8, 'quanity': 1}, {'available': 9.0, 'status': 1, 'sumquantity': 0, 'quanity': 1}]
>>> Hotel.objects.get_hotel_sum_quantity(3, '2011-12-21', '2011-12-24', 2)
[{'available': 0.0, 'status': 1, 'sumquantity': 8, 'quanity': 2}, {'available': 0.0, 'status': 1, 'sumquantity': 8, 'quanity': 2}, {'available': 0.0, 'status': 1, 'sumquantity': 8, 'quanity': 2}, {'available': 8.0, 'status': 1, 'sumquantity': 0, 'quanity': 2}]
>>> Hotel.objects.get_hotel_sum_quantity(3, '2011-12-21', '2011-12-24', 3)
[{'available': -1.0, 'status': 0, 'sumquantity': 8, 'quanity': 3}, {'available': -1.0, 'status': 0, 'sumquantity': 8, 'quanity': 3}, {'available': -1.0, 'status': 0, 'sumquantity': 8, 'quanity': 3}, {'available': 7.0, 'status': 1, 'sumquantity': 0, 'quanity': 3}]
>>>
Может кто-нибудь может дать мне представление о моей ситуации?
заранее спасибо