Python 脚本将数据输入数据库-是否应对冒号进行特殊处理
所以我编写了一个脚本,基本上从txt文件读取数据并填充这个模型Python 脚本将数据输入数据库-是否应对冒号进行特殊处理,python,django,python-2.7,django-models,Python,Django,Python 2.7,Django Models,所以我编写了一个脚本,基本上从txt文件读取数据并填充这个模型 class modelNursing(models.Model): item = models.CharField(max_length=250, default="") 这是一个简单的脚本(看起来像这样)。实际上,txt文件的每一行都包含一个字符串,该脚本提取每一行字符串并将该字符串作为条目输入数据库 def PopulateNursing(request): with open('../content.txt'
class modelNursing(models.Model):
item = models.CharField(max_length=250, default="")
这是一个简单的脚本(看起来像这样)。实际上,txt文件的每一行都包含一个字符串,该脚本提取每一行字符串并将该字符串作为条目输入数据库
def PopulateNursing(request):
with open('../content.txt') as fp:
try:
for line in fp:
try:
modelNursing.objects.create(item=line)
except Exception as e:
print str(e)
except Exception as e:
print str(e)
下面是有趣的第一部分,数据库中的itemsModelCursing
实例的item值等于“Vitals:q4”。那么做这样的事情
nursing = modelNursing.objects.filter(item="Vitals:q4")
应该返回一行,但不幸的是它没有。所以我进入管理界面,仔细检查条目是否真的在那里,是的,它在那里。
然后我注意到,如果我从管理界面中删除字符串Vitals:q4
中的列,然后再次添加并保存,那么查询就可以了。有没有关于为什么会发生这种情况的建议?自动化脚本是否有可能破坏冒号插入或其他操作。为什么我必须删除每个条目中的列并重新插入,然后保存。如有任何建议,将不胜感激。我很困惑
更新:
实际上,我注意到,如果我只是进入管理部分,进入条目实例,然后简单地再次保存,查询就会工作。同样,为什么我必须转到条目实例并再次保存,以便查询工作?您的问题是
行
包含\n
行的末尾。因此,您的过滤器不是macthing“Vitals:q4”
,因为没有此项的记录
nursing = modelNursing.objects.filter(item="Vitals:q4\n")
所以你应该这么做
modelNursing.objects.create(item=line.strip())
您的问题是行
包含\n
行尾。因此,您的过滤器不是macthing“Vitals:q4”
,因为没有此项的记录
nursing = modelNursing.objects.filter(item="Vitals:q4\n")
所以你应该这么做
modelNursing.objects.create(item=line.strip())
啊,这完全有道理。我要试试这个,然后回来是的,这是个问题啊,这完全有道理。我要试试这个,然后回来。是的,这就是问题所在