0

I have accept_withdraw_request action in my RequestWithdaw admin model

class RequestWithdraws(admin.ModelAdmin):
    list_display = ("get_email", "amount", "address", "is_accept", "is_reviewed")
    list_filter = ("is_reviewed",)
    actions = ("accept_withdraw_request", "decline_withdraw_request")

    @transaction.atomic
    def accept_withdraw_request(self, request, queryset):
        for withdraw_request in queryset:
            if withdraw_request.is_reviewed:
                self.message_user(request, level=messages.ERROR, message=f"Withdrawal request has already reviewed")
                return
        queryset.update(is_reviewed=True)
        for withdraw_request in queryset:
            with translation.override(withdraw_request.account.user.language):
                withdraw_request.account.withdraw(-withdraw_request.amount)
                amount = withdraw_request.amount - withdraw_request.commission
                tx_hash = USDT.create_tx_out(withdraw_request.address, amount)
        self.message_user(request, "Accepted {} withdraws".format(queryset.count()))
        queryset.update(is_accept=True)

How can i throttle it to 1 request per 2 seconds when i push accept_withdraw_request admin action button

How can i throttle it to 1 request per 2 seconds when i push accept_withdraw_request admin action button

Gtihon9
  • 11
  • 1

0 Answers0