Python схемы игнорируют неконтролируемое имя поля, но проверяют его значение - PullRequest
0 голосов
/ 14 февраля 2020

Допустим, у меня есть следующее JSON:

{
   "name": "Rob",
   "Occupation": {
        "Painter": [
             { 
                "company" : "X",
                 "years" : "1980-1997"    
             },
             {
                 "company" : "Y",
                 "years" : "1999-2000"   
             }
         ],
         "Singer": [
             {
                 "company" : "A",
                 "years" : "2001-2005"   
             }
         ]
   }
}

, где поля "Занятия" в "Painter" и "Singer", очевидно, могут измениться на что-то другое. Как мне go создать модель для этого, используя schematics

Пока у меня есть следующее:

from schematics import models, types

class Person(models.Model):
    name = types.StringType()
    occupation = types.ModelType(OccupationModel, serialized_name="Occupation")

class Occupation(models.Model):
    ## Here is where I don't know what to do!!! 

1 Ответ

0 голосов
/ 28 февраля 2020

Так что, много повозившись, наконец-то нашел способ сделать это. Как ни странно, нашёл пример в папке тестовых примеров модуля схемы: Тестовый пример Schematics DictType с ModelType

Итак, вот что я наконец сделал:

class OccupationModel(models.Model):
    company = types.StringType()
    years = types.StringType()

class Person(models.Model):
    name = types.StringType()
    occupation = types.DictType(types.ListType(types.ModelType(OccupationModel)), serialized_name="Occupation")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...