Как хранить дополнительные данные в реляционной таблице Flask SQL Alchemy - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть две модели, User и Signal.Все Signal имеют отношение один-к-одному с User с.

Я бы хотел, чтобы пользовательские модели могли «следовать» за другими пользовательскими моделями, одну можно считать «сигнализатором»другой - «последователь», но оба они, по сути, пользователи.Это отношение многие ко многим, однако я хотел бы сохранить дополнительную информацию об этих отношениях в базе данных.Одна дополнительная таблица под названием «банк», в которой хранятся некоторые дополнительные данные о характере отношений.Давайте также скажем, возможно, поле «рейтинг» для пользователей, чтобы оценить друг друга.

Я пытался добавить это в реляционное поле, но Flask SQL Alchemy это не нравится.

follows = db.Table('follows',
    db.Column('signaller_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('bank', db.Column(db.String(50)))
    db.Column('rating', db.Column(db.String(50)))

    )


class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    first_name = db.Column(db.String(64), index=True)
    last_name = db.Column(db.String(64), index=True)
    follows = db.relationship('User', secondary=follows, backref=db.backref('followers', lazy='dynamic')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...