كيفية تحديد العلاقات باستخدام بناء الجملة التعريفي SQLAlchemy؟
-
05-07-2019 - |
سؤال
لا يمكنني العثور على أي وثائق مناسبة حول كيفية تحديد العلاقات باستخدام بناء الجملة التعريفي لـ SqlalChemy .. هل هو غير مدعوم؟ وهذا هو ، هل يجب أن أستخدم بناء الجملة "التقليدي"؟
أنا أبحث عن طريقة لتحديد العلاقات على مستوى أعلى ، وتجنب الاضطرار إلى الفوضى مع المفاتيح الأجنبية وما إلى ذلك .. أود فقط إعلان "العناوين = Onetomany (العنوان)" واترك الإطار معالجة التفاصيل .. أعرف يمكن أن يفعل هذا الإكسير ذلك ، لكنني كنت أتساءل عما إذا كان بإمكان SQLA "SQLA" القيام بذلك أيضًا.
شكرا لمساعدتك!
المحلول
على افتراض أنك تشير إلى المكون الإضافي التصريح, ، حيث يتم توثيق كل شيء على وشك قوله بأمثلة:
class User(Base):
__tablename__ = 'users'
id = Column('id', Integer, primary_key=True)
addresses = relation("Address", backref="user")
class Address(Base):
__tablename__ = 'addresses'
id = Column('id', Integer, primary_key=True)
user_id = Column('user_id', Integer, ForeignKey('users.id'))
نصائح أخرى
انظر إلى قسم "تكوين العلاقات" في مستندات التصريح. ليس المستوى العالي مثل "Onetomany" ولكن أفضل من تحديد العلاقة بالكامل.
class Address(Base):
__tablename__ = 'addresses'
id = Column(Integer, primary_key=True)
email = Column(String(50))
user_id = Column(Integer, ForeignKey('users.id'))
لا تنتمي إلى StackOverflow