db.define_table('Bill',
Field('Bill_NO', 'integer', requires=IS_NOT_EMPTY()),
Field('Date', 'date'),
Field('Customer_ID', requires=IS_NOT_EMPTY()),
Field('Name', requires=IS_NOT_EMPTY()),
Field('Address', 'text', length=255),
Field('Phone', requires=IS_NOT_EMPTY()),
Field('Item', 'list', requires=IS_NOT_EMPTY()), Field('Price', 'list`', requires=IS_NOT_EMPTY()),
Field('Grand_Total', 'double', requires=IS_NOT_EMPTY())
#auth.signature
)
我输入了上面的代码,点击模型中的db.Bill后出现以下错误: (Invaild表/列名称"日期"是"所有"保留的SQL / NOSQL关键字 所以帮助我摆脱这个错误。感谢。
答案 0 :(得分:1)
因为Date是SQL数据库中的数据类型,如果要将其作为列名,请将其替换为[Date]
答案 1 :(得分:1)
如果您想在web2py代码中使用Date
但不介意数据库是否使用其他名称,您可以这样做:
Field('Date', 'date', rname='bill_date')
在这种情况下,数据库将使用bill_date
作为列名(因此避免保留关键字错误),但在您的web2py代码中,您仍然可以引用db.Bill.Date
。