![](/img/trans.png)
[英]How to change UserDoesNotExist SELECT behavior in Flask-peewee - python & mysql
[英]How to Reverse Foreign key in python Flask-peewee
我正在使用Flask-peewee,並且類別和子類別有兩個表,我想制作一個api以基於JSON中的類別列出所有子類別。 (反向外鍵)
因此,如果我們有5個主要類別和20個子類別,則需要列出5個主要類別下的20個子類別,因此我們只應在JSON中顯示5條記錄。
例如:
[{“name”: “medical”,subCategories: [{“name”:”Medical Dental Tourism”},{“name”:”another”}]},{“name”: “Restaurants”,subCategories: [{“name”:”Cafes”},{“name”:”another”}]}]
Models.py
class Category(db.Model):
__tablename__ = 'category'
id = CharField(primary_key=True)
name= CharField()
def __unicode__(self):
return self.image
class Subcategory(db.Model):
__tablename__ = 'subcategory'
id = CharField(primary_key=True)
parent_id = ForeignKeyField(db_column='parent_id', rel_model=Category )
name= CharField()
api.py
class CategoryResource(RestResource):
exclude = 'created_at'
class SubcategoryResource(RestResource):
exclude = 'created_at'
include_resources = {'parent_id': CategoryResource} #I need this to be backwards
您可以使用prepare_data()
來自定義API的輸出,如下所示:
class CategoryResource(RestResource):
def prepare_data(self, obj, data):
data["subcategories"] = []
for item in obj.subcategories:
data["subcategories"].append({"name" : item.name})
return data
當然,您可以自定義上述內容以適合您的需求。 如果您在子類別類中定義了related_name
,則此方法有效:
class Subcategory(db.Model):
name = CharField()
category = ForeignKeyField(Category, related_name = 'subcategories')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.