كيفية تحديد العلاقات باستخدام بناء الجملة التعريفي SQLAlchemy؟

StackOverflow https://stackoverflow.com/questions/250398

  •  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'))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top