首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django模型上保存列表

在django模型上保存列表
EN

Stack Overflow用户
提问于 2021-09-21 21:05:40
回答 1查看 170关注 0票数 0

大家好,我正在使用python,django和django rest框架,我想将我在字典上的信息保存到模型中,但我不知道如何做到这一点,如果你们能解释我如何做到这一点,我将非常感谢

这是清单

代码语言:javascript
复制
[{'evolution': 'charizard',
  'height': 11,
  'id_pokemon': '5',
  'name': 'charmeleon',
  'stats': [[80, 'speed'],
            [65, 'special-defense'],
            [80, 'special-attack'],
            [58, 'defense'],
            [64, 'attack'],
            [58, 'hp']],
  'weight': 190},
 {'evolution': 'charmeleon',
  'height': 6,
  'id_pokemon': '4',
  'name': 'charmander',
  'stats': [[65, 'speed'],
            [50, 'special-defense'],
            [60, 'special-attack'],
            [43, 'defense'],
            [52, 'attack'],
            [39, 'hp']],
  'weight': 85},
 {'evolution': 'None',
  'height': 17,
  'id_pokemon': '6',
  'name': 'charizard',
  'stats': [[100, 'speed'],
            [85, 'special-defense'],
            [109, 'special-attack'],
            [78, 'defense'],
            [84, 'attack'],
            [78, 'hp']],
  'weight': 905}]

#_____________________________________
#And i want to save it on this model


class Pokemon(models.Model):
    """Database model for pokemon information"""
    id_pokemon = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=255)
    weight = models.IntegerField()
    height = models.IntegerField()
    special_defense = models.IntegerField()
    special_attack = models.IntegerField()
    defense = models.IntegerField()
    attack = models.IntegerField()
    hp = models.IntegerField()
    speed = models.IntegerField()
    evolution = models.IntegerField()
EN

回答 1

Stack Overflow用户

发布于 2021-09-21 21:32:11

您可以按如下方式调整数据,并可以将嵌套序列化程序与两个具有一对一关系的模型PokemonStats一起使用。

代码语言:javascript
复制
[
    {
        'evolution': 'charizard',
        'height': 11,
        'id_pokemon': '5',
        'name': 'charmeleon',
        'stats': {
            'speed': 80,
            'special-defense': 65,
            'special-attack': 80,
            'defense': 58,
            'attack': 64,
            'hp': 58
         },
         'weight': 190
     }
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69275553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档