我正在开发一个API,我似乎没有正确的语法。我想要做的是拥有1对多关系的嵌套三级API。 一个农场有多个家庭,每个家庭有多个人,但每个人只有一个家庭,每个家庭只住在一个农场。
我拥有的是:
class farm(db.Model):
farm_id = Column(Integer, primary_key=True)
area_id = Column(Integer, ForeignKey('area.area_id'))
farm_name = Column(Text, unique=False)
families = relationship('family_id',primaryjoin="farm.farm_id==family.farm_id")
class family(db.Model):
family_id = Column(Integer, primary_key=True)
farm_id = Column(Integer, ForeignKey('farm_id.farm_id'))
person = relationship('person_id',primaryjoin="family.family_id==person.family_id")
class person(db.Model):
person_id = Column(Integer, primary_key=True)
family_id = Column(Integer, ForeignKey('family.family_id'))
family_data = Column(Text, unique=False)
family_year = Column(Text, unique=False)
这给了我两个API:s,两个级别。我想要做的就是加入它们,这样我只需要一个三级API。但我无法弄明白。从上面的代码API看起来像这样:
farm object:
{
"objects": [
{
"area_id": 1,
"families": [
{
"family_id": 1,
"farm_id": 1
}
],
"farm_id": 1,
"farm_name": "farm_one"
},
家庭对象:
{
"objects": [
{
"family_id": 1,
"farm_id": 1,
"persons": [
{
"family_data": "Name",
"family_id": 1,
"family_year": "Date",
"person_id": 1
}
]
},
我想得到的是下面,但无论我尝试加入什么,关系声明数据,它都不会给我这个:
{
"objects": [
{
"area_id": 1,
"families": [
{
"family_id": 1,
"farm_id": 1,
"persons": [
{
"family_data": "Name",
"family_year": "Date",
"person_id": 1
}
]
}
],
"farm_id": 1,
"farm_name": "farm_one"
},
你们对我在这里失踪了吗?