json-schema.org, वस्तुओं के साथ $id फ़ील्ड को शामिल करना सबसे अच्छा अभ्यास है।
मैं संघर्ष कर रहा हूं कि इसे शीर्ष स्तर पर कैसे प्राप्त किया जाए, उदाहरण के लिए;
class MySchema(BaseModel):
id: str = Field(default="http://my_url/my_schema.json", alias="$id")
if __name__ == '__main__':
pprint(MySchema.schema())
उपज
{'properties': {'$id': {'default': 'http://my_url/my_schema.json',
'title': '$Id',
'type': 'string'}},
'title': 'MySchema',
'type': 'object'}
मैं शीर्ष स्तर पर $id कैसे प्राप्त करूं, शीर्षक और प्रकार के साथ, नेस्टेड संपत्ति के रूप में नहीं?
1 उत्तर
Pydantic स्कीमा अनुकूलन के कई तरीके प्रदान करता है। उदाहरण के लिए, schema_extra
कॉन्फ़िगरेशन विकल्प का उपयोग करना:
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
class Config:
schema_extra = {
'$id': "my.custom.schema"
}
print(Person.schema_json(indent=2))
आउटपुट:
{
"title": "Person",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"age": {
"title": "Age",
"type": "integer"
}
},
"required": [
"name",
"age"
],
"$id": "my.custom.schema"
}
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।