PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

django postgresql json फ़ील्ड स्कीमा सत्यापन

मैंने jsonschema का उपयोग करके एक कस्टम सत्यापनकर्ता लिखा है ऐसा करने के लिए।

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. 9.6 सबसे डरावना पैच टूर्नामेंट

  2. SQL में सेट किए गए परिणाम में प्रत्येक कॉलम में तालिका का नाम तैयार करें? (विशेष रूप से पोस्टग्रेज)

  3. डेटाबेस में भंडारण वर्ष

  4. Psycopg2 बड़ी चुनिंदा क्वेरी पर मेमोरी का उपयोग करता है

  5. प्रमाणीकरण प्रणाली के साथ PostgreSQL को एकीकृत करना