1

ユーザーの多対多の関係を定義しようとしています。私はドキュメントに従いましたが、得られた最高のものは次のとおりです。

import sqlalchemy as sa
from sqlalchemy import orm
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()


class Friends(Base):
    __tablename__ = 'friends'
    user1_id = sa.Column(sa.ForeignKey('users.id'), primary_key=True)
    user2_id = sa.Column(sa.ForeignKey('users.id'), primary_key=True)


class User(Base):
    __tablename__ = 'users'
    id = sa.Column(sa.Integer, primary_key=True)
    name = sa.Column(sa.String(50))
    # many to many
    friends = orm.relationship('User', secondary=Friends, backref=Friends)

u = User(name='someuser')

しかし、それは私に与えるでしょう

「AttributeError: 'Friends' オブジェクトには属性 'foreign_keys がありません」

どうしたの?

4

1 に答える 1

1

これがあなたの間違いです: backref を Friends クラスに設定しました。文字列を使用します。

于 2012-11-24T13:27:18.250 に答える