故事BackGround:
我想使用python编程语言将json对象存储在django mysql数据库中。 但是我收到了一个错误。
配置:
代码参考:
json_objects={ u'name': u'REF_1', u'text': u'it is apple', u'time': u'20131210T120039Z'}
代码:
- > models.py
from django.db import models
class Messages(models.Model):
id = models.AutoField(primary_key=True)
received = models.DateTimeField(null=False)
name = models.TextField()
data = models.TextField()
text = models.TextField()
word = models.TextField()
def __unicode__(self):
return self.text
- > views.py
from threechannels.models import Messages
data_send_to_db=Messages.objects.create(received=datetime.strptime(json_objects["time"], "%Y%m%dT%H%M%SZ"),name=json_objects_post["name"],data=json_objects_dumps,text=json_objects["text"],word=related_words_hits)
我收到的错误:
DatabaseError:(1054,“字段列表'中的未知列'数据'”)
如果我将json_objects更改为objects = json.dumps(json_objects),我得到另一个错误:字符串索引必须是整数而不是字符串。我认为json_objects_post [“name”]会导致这个问题。
任何提示??? 非常感谢。
答案 0 :(得分:1)
对我来说,似乎你的json_objects是一个简单的python字典。所以这是一个有效的操作:
received=datetime.strptime(json_objects["time"], "%Y%m%dT%H%M%SZ")
但这不是:
name=json_objects_post["name"]
我不确定你想用" _post"但是你可以按原样使用python字典:
name=json_objects["name"]
另外还有其他领域:
data=json_objects
或
data=json.dumps(json_objects)
等...
答案 1 :(得分:0)
原始代码:
data_send_to_db=Messages.objects.create(received=datetime.strptime(json_objects["time"], "%Y%m%dT%H%M%SZ"),name=json_objects_post["name"],data=json_objects_dumps,text=json_objects["text"],word=related_words_hits)
<强>的变化:强>
data_send_to_db=Messages(received=datetime.strptime(json_objects["time"], "%Y%m%dT%H%M%SZ"),name=json_objects_post["name"],data=json_objects_dumps,text=json_objects["text"],word=related_words_hits)
它有效......