【发布时间】:2015-07-10 15:00:41
【问题描述】:
我定义的模型如下:
模型.py
class User(models.Model):
user_id = models.IntegerField()
user_name = models.CharField(max_length=40)
email = models.EmailField()
city = models.CharField(max_length=40)
class Meta:
ordering = ['user_id']
verbose_name = 'User MetaData'
verbose_name_plural = 'Users MetaData'
def __unicode__(self):
return str(self.user_id)
class VideoData(models.Model):
video = models.CharField(max_length=40)
time = models.IntegerField()
user = models.ForeignKey(User)
class Meta:
verbose_name = 'User_Video MetaData'
verbose_name_plural = 'Users_Video MetaData'
现在我想用 JSON 文件中的“loaddata”命令更新模型。我有一个格式如下的 JSON 文件:
{
"fields":{
"user id":12026,
"user name":"Paul Graham",
"email":"pgraham0@sun.com",
"city":"China",
"VIdeoData":[
{
"video":"Livetube",
"time":0
},
{
"video":"Leexo",
"time":22
}
]
},
"pk":1,
"model":"graph.user"
},
当我使用“manage.py loaddata”命令时,我得到了
error : "User has no field named u'VideoData'"
如何更新字段?
【问题讨论】:
-
正确,因为
VideoData不是 User 模型中的字段。通常模型不遵循封装,而是通过relationships相互引用(即一对一、一对多、多对多)
标签: python json django django-rest-framework