[英]Flask RestPlus/RestX: how do I share API models between Namespaces?
我的 Flask-RestX 應用程序中有以下結構:
我在api_models/permissions 中有一個permission_model ,我想在api_models/users中的user_model中使用它。 用例:
權限模型:(在api_models/permissions.py 中)
permission_model = permission_api.model('Permission', {
"id": fields.String(description="Permission ID", required=True)
})
用戶模型:(在api_models/users.py 中)
from .permissions import permission_model
user_model = users_api.model('User', {
"id": fields.String(description="User ID", required=True),
"permissions": fields.List(fields.Nested(permission_model))
})
我認為這就像將模型從一個文件導入另一個文件一樣簡單,但是這樣做時整個 API 會崩潰(“沒有提供 API 定義。”)。 我認為這是因為它們附加到不同的命名空間?
謝謝。
這實際上按預期工作。 在花了很多時間試圖理解為什么模型不被共享之后,我從頭開始,審查每一行代碼,當我到達命名空間注冊塊時......我感到非常愚蠢:我忘記注冊應用程序中的實際“權限”命名空間。 這樣做了,現在工作正常,模型按預期共享。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.