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

SQLAlchemy में, मैं 2 अलग-अलग .py फ़ाइलों में एक विदेशीकी संबंध कैसे बना सकता हूं?

कुंजी प्रत्येक तालिका के लिए एक नई कुंजी बनाने के बजाय, दोनों विदेशी कुंजियों के लिए समान आधार का उपयोग करना है।

basetest.py

from sqlalchemy import create_engine, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref
from sqlalchemy import Column, Integer, String
from sqlalchemy import Table, Text

engine = create_engine('mysql://test:[email protected]/test1',
                    echo=False)

Base = declarative_base()

user_models.py

from sqlalchemy import Column, Integer, String
from sqlalchemy import Table, Text


#Base = declarative_base()
from basetest import Base

class Users(Base):
    __tablename__ = 'account_users'
    __table_args__ = {'extend_existing':True}
    id = Column(Integer, primary_key = True)
    username = Column(String(255), nullable=False)    

Base.metadata.create_all(engine)

groups_models.py

from sqlalchemy import create_engine, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref
from sqlalchemy import Column, Integer, String
from sqlalchemy import Table, Text

from basetest import Base
#Base = declarative_base()
from test1 import Users

class Groups(Base):
    __tablename__ = 'personas_groups'
    __table_args__ = {'extend_existing':True}
    id = Column(Integer, primary_key = True )
    user_id = Column(Integer, ForeignKey('account_users2.id')) #This creates an error!!!
    user = relationship(Users) #this probably won't work. But haven't hit this line yet.

Base.metadata.create_all(engine)

सुनिश्चित करें कि आपके पास समान Base है सभी संबंधित टेबल बनाने के लिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक mysql डेटाबेस में प्रत्येक पंक्ति के लिए एक अद्वितीय PHP पृष्ठ कैसे बना सकता हूं?

  2. SQL सिंटैक्स त्रुटि, संख्या, दिनांक/समय

  3. सरणी में पीडीओ डुप्लिकेट मान

  4. कई से कई रिश्तों को सीक्वेल कैसे करें?

  5. MySQL में एक लिंक्ड सूची या समान कतार बनाना?