Relationships
Minimal example
agent.customize_collection("Town").add_many_to_one_relation(
# Towns belong to 1 country
name="country",
foreign_collection="Country",
foreign_key="country_id"
).add_one_to_one_relation(
# Towns have 1 mayor
name="myMayor",
foreign_collection="Mayor",
origin_key="town_id"
).add_one_to_many_relation(
# Towns have multiple inhabitants
name= 'inhabitants',
foreign_collection= 'Person',
origin_key= 'town_id'
).add_many_to_many_relation(
# Towns electricity is supplied by power-plants which are shared with other towns
name="energyProviders",
foreign_collection="PowerPlant",
through_collection="UtilityContract",
origin_key="town_id",
foreign_key="power_plant_id"
).add_external_relation(
"honoraryCitizen",
{
"schema": {
"firstName": "String",
"lastName": "String"
},
"list_records": lambda record, context: requests.get(
f"https://api.example.com/user/{record['id']}"
).json(),
},
)Last updated