0
早安, 我有一個數據庫有三個表:web2py的 - 在一個一對多的編程方式插入DB
db.define_table('person',
Field('name', length=100),
Field('dob', length=10),
Field('address', 'text', length=255),
Field('countryname', length=3),
Field('statename', length=100),
)
db.define_table('opslist',
Field('opid', length=10),
Field('dop', length=10),
Field('type_operation', length=25),
)
db.define_table('cardlist',
Field('opid', db.opslist),
Field('name', db.person),
Field('countryname', length=3, required=True),
Field('statename', length=100, required=True),
Field('zip', length=5, required=False),
)
我將通過代碼中插入,是指不使用SQLFORM或形式,一些數據進入... 例如:如果我有所有可插入cardlist表中的值,操作必須讓我能夠自動填充相關記錄(創建新的如果不存在)到其他表中。 這是因爲它是一個關係數據庫與外鍵...
這是可能的使用DAL的web2py?或者我必須寫我的原始sql命令?
謝謝大家
你是說你有一個人,一個opslist和相關cardlist記錄中的數據,但你不不知道人員和opslist記錄是否存在(所以在插入cardlist記錄之前可能需要創建它們,也可能不需要創建)?假設您擁有人員和opslist數據,您如何知道他們可以用來識別每個表格中的一個唯一記錄(您的人員和opslist模型定義似乎沒有包含任何唯一性約束)?如果沒有唯一記錄的保證,就沒有辦法知道要在cardlist中的參考字段中輸入什麼ID。 – Anthony
嗨安東尼,抱歉,但我相信我無法完美解釋。我會爲cardlist表添加新的信息:person(person表的名字),operation event(opslist表)和countryname,statename zip。在這種情況下,我可以把這個信息到數據庫?不使用sqlform或表單?例如使用:db.cardlist.insert(name =,opid = ,countryname = ,state = ,zip = <12345>) –
user3319321