PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

validasi skema bidang json django postgresql

Saya menulis validator khusus menggunakan jsonschema untuk melakukan ini.

project/validators.py

import django
from django.core.validators import BaseValidator
import jsonschema
    

class JSONSchemaValidator(BaseValidator):
    def compare(self, value, schema):
        try:
            jsonschema.validate(value, schema)
        except jsonschema.exceptions.ValidationError:
            raise django.core.exceptions.ValidationError(
                '%(value)s failed JSON schema check', params={'value': value}
            )

project/app/models.py

from django.db import models

from project.validators import JSONSchemaValidator

MY_JSON_FIELD_SCHEMA = {
    'schema': 'http://json-schema.org/draft-07/schema#',
    'type': 'object',
    'properties': {
        'my_key': {
            'type': 'string'
        }
    },
    'required': ['my_key']
}

class MyModel(models.Model):
    my_json_field = models.JSONField(
        default=dict,
        validators=[JSONSchemaValidator(limit_value=MY_JSON_FIELD_SCHEMA)]
    )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Symfony3 menyimpan setiap pembaruan ke dalam basis data

  2. Koneksi Pyspark ke database Postgres di notebook ipython

  3. Bergabunglah dengan 2 tabel di mana dua set angka tumpang tindih dalam kolom yang bergabung

  4. DROP TABLE Postgresql tidak berfungsi

  5. Salin struktur tabel ke tabel baru