Хорошо, когда вы обновляете creator_payouts
, тогда база данных обновляется до paid=True
.Поскольку creator_payouts
это ленивый набор запросов, и когда вы вызываете creator_payouts[0]
для его оценки, он получает пустой набор запросов.Таким образом, вы должны хранить начальные значения где-то с принудительной оценки.Например:
if not creator_payouts.exists(): // here I check the existence
return
for creator_payout in creator_payouts:
# or store the first creator_payout in a variable here
do_something()
unpaid_creator_payouts_list = list(creator_payouts) # force evaluation
creator_payouts.update(paid=True)
CreatorRecord.objects.filter(
user__in=processed_user_ids,
created_for__lte=unpaid_creator_payouts_list[0].created_for // or use the first stored payout_creator in previous loop
).update(processed_for_payout=True)
Или запустите операцию обновления после CreatorRecord
фильтра.