【发布时间】:2022-02-10 16:25:43
【问题描述】:
所以我希望我的数据库包含我在 python 中定义的数据类型Item:
class Item:
Name = str
L = Location #An Array
Quantity = int
Description = str
我用它作为数据类型制作了一个表格,我使用的 GUI 显示该列是 Item 类型:
def CreateTable(DatabaseName ,TableName):
conn = s.connect(DatabaseName)
print ("Opened database successfully")
conn.execute('CREATE TABLE ' + TableName + ' (id integer, Items Item);')
print ("Table created successfully")
conn.close()
既然我想插入值,所以我定义了以下函数:
def AddItemToTable(DatabaseName, TableName, Items):
conn = s.connect(DatabaseName)
c = conn.cursor()
c.execute('INSERT INTO '+TableName + '(id, Items) \
VALUES(1,'+Items+')')
conn.commit
conn.close()
我执行这些功能:
I = Item
CreateTable('HelloWorld.db', 'again1')
AddItemToTable('HelloWorld.db', 'again1', 'I')
创建了数据库,创建了表,它有两列,每列都有正确的类型,但它说没有列 I。如果我把 I 去掉引号,它告诉我它需要一个 @987654328 @不输入。
【问题讨论】:
-
你试过
django models -
SQLite 中有 Item 类型吗? Docs不注明。