def retrieve_ballot_item_for_voter(self, voter_id, google_civic_election_id, google_civic_district_ocd_id):
        error_result = False
        exception_does_not_exist = False
        exception_multiple_object_returned = False
        google_civic_ballot_item_on_stage = GoogleCivicBallotItem()

        if value_exists(voter_id) and value_exists(google_civic_election_id) and value_exists(
                google_civic_district_ocd_id):
            try:
                google_civic_ballot_item_on_stage = GoogleCivicBallotItem.objects.get(
                    voter_id=voter_id,
                    google_civic_election_id=google_civic_election_id,
                    district_ocd_id=google_civic_district_ocd_id,
                )
                google_civic_ballot_item_id = google_civic_ballot_item_on_stage.id
            except GoogleCivicBallotItem.MultipleObjectsReturned as e:
                handle_record_found_more_than_one_exception(e, logger=logger)
                exception_multiple_object_returned = True
            except GoogleCivicBallotItem.DoesNotExist as e:
                exception_does_not_exist = True

        results = {
            'success':                          True if google_civic_ballot_item_id > 0 else False,
            'DoesNotExist':                     exception_does_not_exist,
            'MultipleObjectsReturned':          exception_multiple_object_returned,
            'google_civic_ballot_item':         google_civic_ballot_item_on_stage,
        }
        return results
dataset/ETHPy150Open wevoteeducation/WeVoteBase/import_export_google_civic/models.py/GoogleCivicBallotItemManager.retrieve_ballot_item_for_voter/original