Есть некая функция-помощник которая формирует JSON
def product_helper(item):
cat_id=self.product.query.with_entities(self.product.category_id).filter_by(category_id=item.category_id).first().category_id
cat_name =self.category.query.with_entities(self.category.category_name,self.category.id).filter_by(id=cat_id).first().category_name
farm_id = self.product.query.with_entities(self.product.farm_id).filter_by(farm_id=item.farm_id).first().farm_id
farm_name = self.farm.query.with_entities(self.farm.farm_name,self.farm.id).filter_by(id=farm_id).first().farm_name
return {
'success':1,
'id':item.id,
'name':item.product_name,
'category':cat_name,
'cover':item.cover.small,
'created_on':pytils.dt.ru_strftime(u"%d %B %Y %H:%M:%S", inflected=True,date=item.created_on),
'description':item.description,
'price':item.price,
'farm':farm_name,
'phone':item.farm.user.phone,
'images':[i.normal for i in
self.images.with_entities(models.Image.normal).filter_by(product_id=item.id).all()]
}
Все решилось так, что я просто из главной таблицы products получаю farm_id/category_id/etc и далее уже запрашиваю из подчиненных таблиц то, что мне надо, при этом не выбирая все поля.