【问题标题】:Posting a list to a web2py database将列表发布到 web2py 数据库
【发布时间】:2015-09-30 20:33:49
【问题描述】:

我有一个实现 RESTful API 的简单 web2py 应用程序。在我的模型中,我有类似的东西:

db.define_table('vehicles',
                Field('flightId', type='string', default='00000', length=128, 
                .
                .
                .
                Field('route', 'reference path'),
                )

db.define_table('path',
                Field('coordinates', type='list:integer', requires=IS_NOT_EMPTY()))

我希望我的车辆能够引用路径,然后由另一个数据库条目管理。当然,这条路径将由纬度/经度坐标对给出,因此实际上最好使用元组列表。有没有更明智的方法来做到这一点?我将如何发布整数列表?我可以使用requests 来执行此操作吗?

客户端需要能够大量查询车辆,但我不希望每次发生这种情况时都发送完整路径,因为路径上有很多点。我完全不喜欢网络东西,所以我感谢任何人在这方面可以提供的任何帮助、提示或资源。

【问题讨论】:

    标签: python rest python-requests web2py


    【解决方案1】:

    我不明白您将如何在list:integer 字段中存储一系列纬度/经度对。相反,您可以考虑以下选项:

    1. db.path.coordinates 设为json 字段,并将坐标作为JSON 对象提交。从表中检索记录时,web2py DAL 会自动将 JSON 转换为 Python 对象,以便使用 Python 进行操作。
    2. 使用stringtext 字段并创建您自己的自定义数据序列化为字符串格式,在执行插入和选择时自行解析数据。
    3. 使用filter_in/filter_outcustom field type 实现选项#2。

    【讨论】:

    • 是的,当我填写表格时,我意识到list:integer 不是我所期望的。选项 1 对我来说效果很好,虽然它不像我想象的那么简单,因为它会修改我的模型。
    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2012-12-02
    相关资源
    最近更新 更多