Документация предполагает , что возможно что-то вроде следующего , возможно - я не уверен, что если ограничение во внутреннем QuerySet
обходит проверку вокруг вызова update()
после нарезки:
inner_q = UserLog.objects.filter(user=user,
action='message',
timestamp__lt=now).values('pk')[0:5]
UserLog.objects.filter(pk__in=inner_q).update(read=True)
В противном случае вы можете использовать поиск поля in
примерно так:
ids = UserLog.objects.filter(user=user,
action='message',
timestamp__lt=now).values_list('pk', flat=True)[0:5]
UserLog.objects.filter(pk__in=list(ids)).update(read=True)