Как использовать схему в качестве значения по умолчанию для Django JSONField - PullRequest
0 голосов
/ 22 мая 2019

Я бы хотел использовать dict с атрибутами в качестве значения по умолчанию для моего JSONField вместо простого пустого dict.

Схема:

class FinancialDataSchema(marshmallow.Schema):
    capital = fields.Float(allow_none=True)  # Capital social
    revenue = fields.Float(allow_none=True)  # Chiffre d'affaires
    revenue_year = fields.Int(allow_none=True)  # Année du chiffre d'affaires
    account_published = fields.Boolean(allow_none=True)  # Publication des comptes

Модель:

class ServiceProvider(models.Model):
    financial_data = JSONField(validators=[MarshmallowValidator(schema=schemas.FinancialDataSchema)], default=dict)

Проблема: По умолчанию ключ serviceProvider.finalcial_data.capital не существует. Я бы хотел, чтобы ключ был создан и его значение было установлено на None.

Что я пробовал:

JSONField(validators=[MarshmallowValidator(schema=schemas.FinancialDataSchema)], default=schemas.FinancialDataSchema)

Я получил: TypeError: Object of type 'FinancialDataSchema' is not JSON serializable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...