test_data = {
"transactions": [{
"id": 5494,
"specific_wallet_id": 2079,
"evaluation_process_transaction_id": 5229,
"transaction_type": "Earn",
"points": 9,
"created_at": "2022-09-20T16:14:19.000+05:30",
"updated_at": "2022-09-20T16:14:19.000+05:30",
"custom_wallet_transaction_id": "null",
"order_meta_data": {},
"points_validity": "2023-09-20T00:00:00.000+05:30",
"points_status": "Active",
"transaction_amount": 450.0,
"transaction_at": "2022-09-20T16:14:18.000+05:30",
"tnx_status": "Successful",
"current_points": 9,
"programme_id": 4,
"customer_id": 1,
"reason_code": "Earn",
"channel": "app",
"order_id": "1",
"transaction_references": "null",
"points_value": 9.0,
"issuer": {
"id": 1,
"name": "oo",
"code": "oo",
"image_url": "null"
},
"partner": null
},
{
"id": 5486,
"specific_wallet_id": 2079,
"evaluation_process_transaction_id": 5221,
"transaction_type": "Earn",
"points": 9,
"created_at": "2022-09-20T15:46:15.000+05:30",
"updated_at": "2022-09-20T15:46:15.000+05:30",
"custom_wallet_transaction_id": "null",
"order_meta_data": {},
"points_validity": "2023-09-20T00:00:00.000+05:30",
"points_status": "Active",
"transaction_amount": 450.0,
"transaction_at": "2022-09-20T15:46:14.000+05:30",
"tnx_status": "Successful",
"current_points": 9,
"programme_id": 4,
"customer_id": 2189,
"reason_code": "Earn",
"channel": "app",
"order_id": "uuu",
"transaction_references": "null",
"points_value": 9.0,
"issuer": {
"id": 1,
"name": "oo",
"code": "ooo",
"image_url": "null"
},
"partner": {
"id": 1,
"name": "qq",
"code": "qq",
"image_url": "https://d157777v0iph40..net///offers/avis.jpg"
}
}
],
"success": "true",
"error": "null"
}
results=[]
results.extend(
[
AllTransaction(
issuer_id=Config.evaluation_issuer_id,
issuer_name="",
issuer_logo="",
wallet_id=o["specific_wallet_id"],
partner=o["partner"],
points=o["points"],
points_value_in_currency=(
o["points"] * 1
),
transaction_at=o["transaction_at"],
transaction_id=o["id"],
transaction_type=o["transaction_type"],
transaction_meta={
"order_id": o["order_id"],
"channel": o["channel"],
"order_meta_data": o["order_meta_data"],
},
transaction_name=o["transaction_type"],
)
for o in test_data["transactions"]
]
)
return TransactionResponse(results=results)
model code
class TransactionDetailsPartner(BaseModel):
partner: Optional[dict] =None
class TransactionDetails(BaseModel):
points: int
points_value_in_currency: float
transaction_id: int
transaction_at: datetime
transaction_type: str
transaction_meta: Optional[dict]
transaction_name: Optional[TransactionType]
class TransactionDetailsIssuer(BaseModel):
issuer_id: int
issuer_name: str
issuer_logo: str
wallet_id: int
class AllTransaction(TransactionDetails, TransactionDetailsIssuer, TransactionDetailsPartner):
pass
**this is my main method and here my partnerdata is null in one entry at test_data and in pydantic model i made as optional but still it throwing error if i pass null data how to resolve this **
how to access this partner key even it is null and at model or api level is ok. thanks in advance