python - 使用 Flask ReSTLess 自定义 GET 方法

标签 python flask sqlalchemy flask-sqlalchemy flask-restless

我正在使用 Flask Restless 开发 REST API .

以下代码是说明我的问题的示例:

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode)
    password = db.Column(db.String(20))

class Message(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.Unicode)
    recipients = db.relationship("User")

# ...

manager.create_api(User,
    include_columns=['id', 'name'], # password is excluded
    methods=['GET', 'POST'])
manager.create_api(Message, methods=['GET', 'POST'])

当我发送 GET 请求来获取用户时,API 返回他的 ID 和姓名,但不返回密码,因为密码被排除在外:

{
    "id": 14,
    "name": John
}

但是当我发送 GET 请求来获取消息时,我会获得完整的收件人,包括密码:

{
    "id": 637,
    "text": "Hello!",
    "recipients": [
        {
            "id": 98,
            "name": "Peter",
            "password": "1a52dca635fee"
        }
    ]
}

密码不应该明显返回...

如何选择返回相关模型的哪些字段?

最佳答案

看看custom serialization部分文档和 Marshmallow library

关于python - 使用 Flask ReSTLess 自定义 GET 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527349/

相关文章:

python - SQLAlchemy 使用关系()

python - 加入表本身以查找具有相同关系的用户

python - CGI 不执行 python - 500 内部服务器错误

python - Bigquery 加载时间戳时出错

python - 的Python语法错误

python - 如何处理 Python Flask 重定向

heroku Gunicorn/Flask 应用程序错误 "Exception in worker process"

python - flask app连接数据库过程中如何获取秘钥

python - 使用核心 SQLAlchemy 插入和更新

python - 根据特定字段对字符串列表进行排序