Skip to content
Advertisement

I have updated my code– I want to pass an object in “for loop” with employee_id and his specific donation amount, How can I do this?

I am working on a donation app. In this app, There was a feature that sends an equal amount of donation money to every employee of the organization now they want to change this feature by sending a customized amount of donation to all or some of the employees. I have worked on it: Now I am using a for loop which iterates over the list of employees id and gives the amount to each id. But What I want is to pass an object in a for loop, where the object has an id from list of ids and the amount received from payload. I want to keep that id with his specific amount locked in an object Here is my code now:

class BusinessDonationController(BaseController):
    def create(self, request, response, business):
        employees =Employment.objects.filter(business=business, active=True)
        ids = employees.values_list('id', flat=True)
        donation_amount = []
        for id in ids:
            try:
                amount = int(request.payload.get("amount"))
                donation_amount.append({
                    "id" : id,
                    "amount" : amount
                })
            except ValueError:
                return response.bad_request("Invalid donation amounts, %s, should be in whole dollars" % amount)
        return donation_amount

Advertisement

Answer

This Worked for me!!

class BusinessDonationController(BaseController):
    def create(self, request, response, business):
        business = Business.objects.get(id=business)
        employees =Employment.objects.filter(business=business, active=True)
        ids = employees.values_list('id', flat=True)
        donation_amount = []
        try:
            employee_id = int(request.payload.get("employee_id"))
            amount = int(request.payload.get("amount"))
            donation_amount.append({
                "employee_id" : employee_id,
                "amount" : amount
            })
        except ValueError:
            return response.bad_request("Invalid donation amounts, %s, should be in whole dollars" % amount)

        for employee in employees:
            if employee.id == employee_id:
                credit_account = CreditAccount.objects.create(deposit=deposit, total_amount=amount, current_amount=amount, employment=employee)
        if error != '' and error is not None:
            return response.bad_request(error)

        response.set(**{'success': True})

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement