Django 2.1 - Model index reference

मॉडल सूचकांक संदर्भ




django

मॉडल सूचकांक संदर्भ

सूचकांक कक्षाएं डेटाबेस इंडेक्स बनाने में आसानी करती हैं। उन्हें Meta.indexes विकल्प का उपयोग करके जोड़ा जा सकता है। यह दस्तावेज़ Index के एपीआई संदर्भों की व्याख्या करता है जिसमें सूचकांक विकल्प शामिल हैं

अंतर्निहित इंडेक्स को संदर्भित करना

इंडेक्स django.db.models.indexes में परिभाषित किए django.db.models.indexes , लेकिन सुविधा के लिए वे django.db.models में आयात किए गए हैं। मानक कन्वेंशन from django.db import models उपयोग करना है और इंडेक्स को models.<IndexClass> रूप में संदर्भित करना है models.<IndexClass>

Index विकल्प

class Index(fields=(), name=None, db_tablespace=None) [source]

डेटाबेस में एक इंडेक्स (बी-ट्री) बनाता है।

fields

Index.fields

उन क्षेत्रों के नाम की एक सूची या टपल, जिस पर सूचकांक वांछित है।

डिफ़ॉल्ट रूप से, प्रत्येक स्तंभ के लिए आरोही क्रम के साथ सूचकांक बनाए जाते हैं। किसी इंडेक्स को स्तंभ के लिए अवरोही क्रम के साथ परिभाषित करने के लिए, फ़ील्ड के नाम से पहले एक हाइफ़न जोड़ें।

उदाहरण के लिए Index(fields=['headline', '-pub_date']) SQL (headline, pub_date DESC) साथ बनाएगा। इंडेक्स ऑर्डरिंग MySQL पर समर्थित नहीं है। उस स्थिति में, एक सामान्य सूचकांक के रूप में एक अवरोही सूचकांक बनाया जाता है।

Django 2.1 में परिवर्तित:

पुराने संस्करण टपल को स्वीकार नहीं करते हैं।

name

Index.name

सूचकांक का नाम। यदि name प्रदान नहीं किया गया है तो Django एक नाम स्वतः उत्पन्न करेगा। विभिन्न डेटाबेसों के साथ संगतता के लिए, अनुक्रमणिका नाम 30 वर्णों से अधिक नहीं हो सकते हैं और संख्या (0-9) या अंडरस्कोर (_) से शुरू नहीं होना चाहिए।

db_tablespace

Index.db_tablespace
Django 2.0 में नया:

इस सूचकांक के लिए उपयोग करने के लिए डेटाबेस तालिकाओं का नाम। एकल फ़ील्ड इंडेक्स के लिए, यदि db_tablespace प्रदान नहीं किया जाता है, तो इंडेक्स फ़ील्ड के db_tablespace में बनाया जाता है।

यदि Field.db_tablespace निर्दिष्ट नहीं है (या यदि अनुक्रमणिका कई क्षेत्रों का उपयोग करती है), तो सूचकांक मॉडल के class Meta के अंदर db_tablespace विकल्प में निर्दिष्ट तालिकाओं में बनाया जाता है। यदि उनमें से कोई भी टेबलस्पेस सेट नहीं है, तो इंडेक्स टेबल के समान टेबलस्पेस में बनाया जाता है।

यह भी देखें

PostgreSQL-विशिष्ट इंडेक्स की सूची के लिए, django.contrib.postgres.indexes देखें।