1

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))
4

1 回答 1

0

当你这样做

db.artist3.insert(name=ar)

您正在创建一个具有名称且没有numT (numT=NULL)的新艺术家3

当你这样做

db.artist3.insert(numT=int(th))

您正在创建一个没有名称 (name=NULL) 且具有numT的新艺术家 3

根据您的表定义,您不需要 NULL numTField('numT','text',notnull=True)

所以你可能应该更换这两个插件

db.artist3.insert(name=ar)
db.artist3.insert(numT=int(th))

带一个刀片

db.artist3.insert(name=ar, numT=int(th))
于 2013-12-30T19:43:34.340 回答