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

कैसे समग्र प्राथमिक कुंजी के साथ विरासत पठनीय डेटाबेस तालिकाओं के साथ Django का उपयोग कैसे करें?

आप एक विरासत रीडऑनली डेटाबेस के बारे में बात कर रहे हैं, शायद आप बिना किसी बहु-कॉलम पीके के बाहरी स्कीमा (विचार) बना सकते हैं। उदाहरण के लिए आप फ़ील्ड कुंजियों को जोड़ सकते हैं। यहाँ और उदाहरण:

उदाहरण के लिए:

टेबल्स:

create table A (
  a1 int not null,
  a2 int not null,
  t1 varchar(100),
  primary key (a1, a2)
)

create table B (
  b1 int not null,
  b2 int not null,
  a1 int not null,
  a2 int not null,
  t1 varchar(100),
  primary key (b1, b2),
  constraint b_2_a foreign key (a1,a2) 
  references A (a1, a2)
)

django द्वारा पढ़ी जाने वाली बाहरी स्कीमा:

Create view vA as 
select 
   a1* 1000000 + a2 as a, A.* 
from A

Create view vB as 
select 
   b1* 1000000 + b2 as b, 
   a1* 1000000 + a2 as a, B.* 
from B

django मॉडल:

class A(models.Model):
    a = models.IntegerField(  primary_key=True )
    a1 = ...
    class Meta(CommonInfo.Meta):
        db_table = 'vA'    

class B(models.Model):
    b = models.IntegerField(  primary_key=True )
    b1 = ...
    a = models.ForeignKey( A )
    a1 = ...
    class Meta(CommonInfo.Meta):
        db_table = 'vB'    

इंडेक्स के साथ काम करने . में सक्षम होने के लिए आप varchar कुंजियों को बनाने के लिए तकनीक को परिष्कृत कर सकते हैं . मैं और नमूने नहीं लिखता क्योंकि मुझे नहीं पता कि आपका डेटाबेस ब्रांड क्या है।

अधिक जानकारी:

Do Django मॉडल बहु-स्तंभ प्राथमिक कुंजियों का समर्थन करते हैं?

टिकट 373

वैकल्पिक तरीके




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. संघ के साथ दो तालिकाओं को मिलाकर एक नई तालिका बनाएं

  2. घातक त्रुटि:अपरिभाषित विधि पर कॉल करें mysqli_stmt::fetch_array ()

  3. Mysql में क्वेरी कैश को कैसे साफ़ करें?

  4. लोड डेटा INFILE काम नहीं करता है

  5. Powershell और Windows एन्कोडिंग से MysqlDump