Я не очень знаком с django, но почему я получаю TransactionManagementError, когда внутри атомарного блока.
with transaction.atomic():
product = Products.objects.select_for_update().filter(id=product_id).values().first()
product.available_count = product.available_count - 1
product.save()