我有'sqlite3 db',带有EmailChecker模型和电子邮件,我将从网站上查看。 问题是,如果我从django admin插入一条新记录,一切正常,但如果我从python代码插入新记录,我可以从django admin查看数据(显然是正确的)但我无法通过EmailChecker从django视图获取数据.object.filter(电子邮件=电子邮件)。
我必须说,如果我从管理面板重新保存每个对象,EmailChecker.object.filter(email = email)工作正常。但我不能这样做因为我有很多数据:(
查看代码:
""" AJAX """
def mail_check(request):
response_data = {}
if request.POST:
em = request.POST.get('email')
if EmailChecker.objects.filter(email=em).count() > 0: # if email is in db, form modal appeared
email_checker = EmailChecker.objects.filter(email=em)[0]
response_data['code'] = 1
response_data['email'] = email_checker.email
response_data['hotel'] = email_checker.hotel_option
else:
response_data['code'] = 0
response_data['email'] = em
else:
response_data['code'] = 1
response_data['email'] = ''
return HttpResponse(json.dumps(response_data), content_type='application/json')
我使用此Python脚本从django命令行插入数据:
from Timeline.models import EmailChecker
a = open('mail_list','rb')
aux = 0
b = 0
for line in a:
if aux%3 == 0:
em = EmailChecker()
name = line.replace(' ','')
em.name = name
elif aux%3 == 1:
email = line
em.email = email
elif aux%3 == 2:
grupo = line
em.hotel_option = grupo
em.invited_by = 'Aitor'
em.save()
aux+=1
b += 1
print 'Total: %s'%(b/3)
来自mail_list文件的数据采用以下格式:
name
mail
group
name
mail
group
...
...
...
答案 0 :(得分:0)
确定。解决。 我需要在每次迭代中添加此替换
line = line.replace('\n', '').replace('\r', '')