【问题标题】:Web2Py SQLFORM.GridWeb2Py SQLFORM.Grid
【发布时间】:2014-01-19 02:06:59
【问题描述】:

我刚开始使用 web2py,真的无法通过 SQLFORM.grid 部分。 我的数据在 mySQL 数据库中,我正在尝试调用它的查询。

我定义了表格但没有 id 字段,因为我将其称为“itemNumber”并将其用作我的 id 字段。

db.define_table('items', 
   Field('itemNumber', 'integer'),
   Field('title', 'string'),
   Field('price', 'integer'),
   Field('numSold', 'integer'))

在我的 default.py 中

def display_form():
    db.items.id.readable = False
    query = (db.items.numSold)
    fields = (db.items.price, db.items.numSold, db.items.title)
    headers = {'items.price': 'Price', 'items.numSold': '# Sold', 'items.title': 'Title'}
    default_sort_order = [db.items.numSold]

    form = SQLFORM.grid(query=query, fields=fields, headers=headers, orderby=default_sort_order, create=False, deletable=False, editable=False, maxtextlength=64, 
                        paginate = 25)
    return dict(form=form)

html页面上提供的错误: 不支持查询:(1054,u“'字段列表'中的未知列'items.id'”) 没有找到记录

我以为我读到 SQLFORM.grid 会自动调用“.id”但是如果在我的例子中唯一键被命名为 itemNumber 而不是 id 呢?

如何关闭它?

非常感谢,

约翰

【问题讨论】:

    标签: python mysql web2py


    【解决方案1】:

    你的表定义应该如下开始:

    db.define_table('items', 
       Field('itemNumber', 'id'),
    

    当您将字段类型指定为“id”时,web2py 会将该字段视为自增整数主键,并且不会创建名为“id”的单独字段。

    【讨论】:

    • 很棒的安东尼!!太感谢了。这完全成功了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 2012-04-02
    • 2013-05-11
    相关资源
    最近更新 更多