我有这样的字典
data = OrderedDict([('name', 'NewIsland'), ('Residents', [OrderedDict([('name', 'paul'), ('age', '23')])])])
我希望将其转换为类对象。
这是我的django模特。
class Country(models.Model):
name = models.CharField(max_length=20)
class Residents(models.Model):
name = models.CharField(max_length=20)
age = models.PositiveSmallIntegerField()
country = models.ForeignKey('Country', related_name='residents')
当我像这样编码时
result = Country(**data)
我得到了异常
'居民'是此函数的无效关键字参数
如何将其转换为可以使用result.residents [idx]访问居民的类对象?
答案 0 :(得分:0)
您可以通过手动创建子对象
来实现residents_data = data.pop('Residents')
result = Country(**data)
for rdata in residents_data:
result.residents.add(Residents(**rdata), bulk=False)