【发布时间】:2019-03-16 14:31:32
【问题描述】:
{
"캡틴마블": ["20018348", "81533"],
"이스케이프룸": ["20018925", "81654"],
"돈": ["20018920", "81651"],
"라스트미션": ["20018934", "81658"],
"우상": ["20018907", "81650"],
}
我已经提取了电影数据并保存了如上所示的数据(作为字典)。 我想将它们保存到我的 Django 项目中,但下面的代码对我不起作用。
if __name__=='__main__':
movie_data_dict = data #like above format Json file
for t, m in movie_data_dict.items():
MovieData(title=t, movie_cd=m[0], movie_idx=m[1]).save()
class MovieData(models.Model):
title = models.CharField(max_length=20)
movie_cd = models.IntegerField
movie_idx = models.IntegerField
抛出的错误是:
sqlite3.OperationalError: table parsed_data_movie_data has no column movie_idx
...
...
django.db.utils.OperationalError: table parsed_data_movie_data has no column movie_idx
makemigrations 后的另一个错误
Traceback (most recent call last):
File "NameParser.py", line 48, in <module>
MovieData(title=t, movie_cd=m[0], movie_idx=m[1] ).save()
File "C:\Python\Python37\lib\site-packages\django\db\models\base.py", line 485, in __init__
raise TypeError("'%s' is an invalid keyword argument for this function" % kwarg)
TypeError: 'movie_cd' is an invalid keyword argument for this function
【问题讨论】:
-
您的代码中有错字。第三行应该是
items()而不是itmes()。这是你的问题吗?你得到什么输出,你期望什么输出? -
我编辑它们。我想将第二个值保存到 movie_idx。但是That's items format不能保存超过2个
-
你不能保存超过 2 个是什么意思?您当前是收到错误消息还是只是没有得到您想要的输出?
-
感谢您把英文句子整理得井井有条。附上一张有错误的图片。
-
你跑过
manage.py -makemigrations然后manage.py -migrate吗?
标签: python django django-models sqlite