回溯(最近通话最近): 在Deserializer中的文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/serializers/json.py”,第69行 来自PythonDeserializer的收益 在Deserializer中的第91行,文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/serializers/python.py” 模型= _get_model(d [“ model”]) KeyError:“模型”
上述异常是以下异常的直接原因:
回溯(最近通话最近): 在第15行的文件“ manage.py”中 execute_from_command_line(sys.argv) 第381行的文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/init.py”,位于execute_from_command_line中 utility.execute() 在执行的文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/init.py”中执行 self.fetch_command(子命令).run_from_argv(self.argv) 在run_from_argv中的第316行中,文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/base.py” self.execute(* args,** cmd_options) 执行中的文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/base.py”,第353行 输出= self.handle(* args,** options) 文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/commands/loaddata.py”,第72行,在句柄中 self.loaddata(fixture_labels) 第113行,位于loaddata中的文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/commands/loaddata.py” self.load_label(fixture_label) 文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/commands/loaddata.py”,行168,位于load_label中 对于对象中的obj: 在Deserializer中的文件“ /Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/serializers/json.py”,第73行 从ex引发DeserializationError() django.core.serializers.base.DeserializationError:安装固定装置'/Users/sparshkedia/Desktop/task/movie_rs/movies.json'
时出现问题这是上面的错误,当我尝试将json文件反序列化到数据库中时。
我的json文件如下:
[ { “描述”:“当一个新的太空人形象取代他成为男孩房间里的头号玩具时,一个牛仔娃娃受到了极大的威胁和嫉妒。”, “类型”:“动画,冒险,喜剧,家庭,幻想”, “ imdb_url”:“ https://www.imdb.com/title/tt0114709/”, “ img_url”:“ https://m.media-amazon.com/images/M/MV5BMDU2ZWJlMjktMTRhMy00ZTA5LWEzNDgtYmNmZTEwZTViZWJkXkEyXkFqcGdeQXVyNDQ2OTk4MzI@._V1_UX182_CR0,0,182,268_AL__QL50.jpg”, “ movie_id”:114709, “ title”:“玩具总动员”, “ users_rating”:8.3, “年”:1995 }, { “描述”:“乔治·班克斯不仅要应对女儿的怀孕,而且还要应对妻子的意外怀孕。”, “类型”:“喜剧,家庭,浪漫”, “ imdb_url”:“ https://www.imdb.com/title/tt0113041/”, “ img_url”:“ https://m.media-amazon.com/images/M/MV5BOTEyNzg5NjYtNDU4OS00MWYxLWJhMTItYWU4NTkyNDBmM2Y0XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX182_CR0,0,182,268_AL__QL50.jpg”, “ movie_id”:113041, “ title”:“新娘之父第二部分”, “ users_rating”:6 “年”:1995 }]
我需要怎么做才能将json文件输入数据库? 我还创建了适当的电影模型,其中包含根据json文件的所有字段。
我为此使用python manage.py loaddata films.json。还有其他方法吗,如果可以,请帮助我吗?
答案 0 :(得分:1)
有时对象未正确关闭
答案 1 :(得分:0)
夹具文件必须与Django serialization format相匹配,例如:
[
{
"pk": "4b678b301dfd8a4e0dad910de3ae245b",
"model": "sessions.session",
"fields": {
"expire_date": "2013-01-16T08:16:59.844Z",
...
}
}
]
因此,您需要通过以下方式重写灯具:
model
键pk
字段fields
内部对象答案 2 :(得分:0)
我在manage.py中有打印语句。 该输出已保存在夹具json文件中,该文件生成格式错误。 删除这些打印语句即可解决。 以下是我的旧(格式错误)fixture .json文件。我删除了第一行,就可以了。
app.yaml file = dev_app.yaml
[
{
"model": "plans.planslevel1",
"pk": 1,
"fields": {
"name": "abc",
"description": "xyz"
}
}]