在pythonanywhere上遇到web2py问题。 我正在读取一个文本文件并将其拆分并将值放入列表中,还尝试了元组列表。 数据显然在那里,但不会让我把它放入,当我知道列表已填充时,一直说它为空。
错误: artist3.numT可能不是NULL
dbcode
# coding: utf8
fp = open('/home/dingadestroy/count.txt','r')
ft1 = fp.read()
li = []
artists = []
tweets = []
classArt = []
text = []
count = []
def getCount():
count = []
x = ft1.split('\n')
for i in x:
z = i.split('\t')
if len(z)>=2:
artists.append(z[0])
li.append(z[1])
getCount()
db.define_table('artist3',
Field('name','text'),
Field('numT','text',notnull=True))
#db.define_table('artist',
# Field('name',notnull=True,unique=True),
# format = '%(name)s')
for th in li:
for ar in artists:
db.artist3.insert(name=ar)
db.artist3.insert(numT=int(th))
答案 0 :(得分:0)
当你这样做时
db.artist3.insert(name=ar)
您正在使用名称创建新的 artist3 ,而不使用 numT (numT = NULL)
当你这样做时
db.artist3.insert(numT=int(th))
您正在创建一个没有名称的新 artist3 (名称= NULL),并且使用 numT
根据您的表定义,您不需要NULL numT Field('numT','text',notnull=True)
所以你应该更换这两个插入
db.artist3.insert(name=ar)
db.artist3.insert(numT=int(th))
单个插入
db.artist3.insert(name=ar, numT=int(th))