0
在我的模型我有像這樣定義的表:NOT NULL沒有出現在web2py的數據庫表中?
db.define_table('address',
Field('address1','string'),
Field('address2','string'),
Field('city','string'),
Field('state','string'),
Field('postal_code','string'),
Field('country','string'),
)
db.address.address1.notnull = True
db.address.city.notnull = True
db.address.country.notnull = True
然而,當數據庫(PostgreSQL的)生成此表中的相關字段沒有NOT NULL約束。爲什麼?以及如何確保添加NOT NULL約束?
感謝這部作品在正常不過的字段似乎對國外關鍵領域,如'場(「CUSTOMER_ID」,「參考客戶,NOTNULL = TRUE)'工作,它不會。爲什麼?我怎樣才能在外鍵字段上獲得NOT NULL? – User
不確定這是爲什麼,但不認爲您目前可以在web2py中執行此操作。請注意,爲了在提交表單時強制執行notnull,您可以(或另外)執行'Field('address1',requires = IS_NOT_EMPTY())''。這將在表單提交時在UI中提供驗證和友好的錯誤消息(而不是簡單地拋出一個數據庫異常並返回一個500錯誤,這就是'notnull = True'所能得到的結果)。 – Anthony