예제 #1
0
def fetch_latest_ec_details(award_id: int, mapper: OrderedDict,
                            transaction_type: str) -> dict:
    vals, ann = split_mapper_into_qs(mapper)
    model = TransactionFPDS if transaction_type == "fpds" else TransactionFABS
    retval = (model.objects.filter(
        transaction__award_id=award_id, officer_1_name__isnull=False).values(
            *vals).annotate(**ann).order_by("-action_date"))
    return retval.first()
예제 #2
0
def fetch_fpds_details_by_pk(primary_key: int, mapper: OrderedDict) -> dict:
    vals, ann = split_mapper_into_qs(mapper)
    return TransactionFPDS.objects.filter(pk=primary_key).values(*vals).annotate(**ann).first()
예제 #3
0
def fetch_award_details(filter_q: dict, mapper_fields: OrderedDict) -> dict:
    vals, ann = split_mapper_into_qs(mapper_fields)
    return Award.objects.filter(**filter_q).values(*vals).annotate(**ann).first()
예제 #4
0
def fetch_fabs_details_by_pk(primary_key, mapper):
    vals, ann = split_mapper_into_qs(mapper)
    return TransactionFABS.objects.filter(pk=primary_key).values(
        *vals).annotate(**ann).first()