-1
私はしばらく見てみましたが、特定の問題の解決策を見つけられなかったので、事前にお詫びします。アソシエーションパターンを使用したSQLAlchemyの多対多自己参照ORM
と仮定私はテーブルのユーザーと、次のモデルを持っているし、次の:外部キーに応じて、異なる意味があることを
________ src ________
| User |-1------------*-| Follow |
|--------| |--------|
| id | | src_id |
| | | dst_id |
| | | string |
|________|-1------------*-|________|
dst
ていることに注意してください。
"アソシエーションパターン"(described here)でこれを達成しようとしていますが、動作させることができます。これは次のようになります。
class Follow(Base):
__tablename__ = 'follows'
#
src_id = Column(BigInteger, ForeignKey('users.id'), primary_key=True)
dst_id = Column(BigInteger, ForeignKey('users.id'), primary_key=True)
src = relationship("User", back_populates="followers", foreign_keys=[src_id])
dst = relationship("User", back_populates="followees", foreign_keys=[dst_id])
kind = Column(String(16))
class User(Base):
__tablename__ = 'users'
name = Column(String(20))
followers = relationship("UUEdge", primaryjoin="User.id==UUEdge.dst_id")
followees = relationship("UUEdge", primaryjoin="User.id==UUEdge.src_id")
これは可能ですか?私は何か間違っているのですか?
乾杯
P.S.鉱山に答えていない
同様の質問:
「UUEdge」とは何ですか? 'Follow'では' back_populates'を使用しましたが、もう一方は使用しませんでした。また、明確な問題定義を指定すると助けになります。 "私はそれを働かせることはできない"というのはあいまいです。 –
には適切な[mcve]が含まれていることを確認し、問題が発生していることをコードで確認して再現し、発生している可能性のあるエラーメッセージを追加してください。 –