如何使用架构作为Django JSONField

时间:2019-05-22 08:25:31

标签: django schema marshmallow

我想使用带有属性的字典作为JSONField的默认值,而不是简单的空字典。

架构:

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

0 个答案:

没有答案