Как правильно сделать связующею таблицу?

Я собираю данные из вк и сохраняю в базу, в базе есть таблица для записи пользователей.

class User(Base):
    __tablename__ = 'user'
    object_id = Column(Integer, ForeignKey("type object.object_id"), primary_key=True)
    name = Column(String(255), nullable=False)
    surname = Column(String(255))
    patronymic = Column(String(255))

Помимо пользователей я собираю их друзей и хочу так же сохранять в базу, и при этом сделать таблицу связующею пользователя и его друзей. Как это правильно сделать?? Думал создать вторую таблицу по типу

class Friends_user(Base):
    __tablename__ = 'friends user'
    id = Column(Integer, primary_key=True)
    user_id = Column(Integer, ForeignKey("user.object_id"))
    friends_id = Column(Integer, ForeignKey("user.object_id"))

но мне кажется это не совсем правильное решение. Опыта в работе с база маленький поэтому затрудняюсь.


Ответы (1 шт):

Автор решения: В'ячеслав Головач

по подчинённой таблице - "user's friend" лучше назвать.

зачем там два foreign key? достаточно user_id = Column(Integer, ForeignKey("user.object_id")) что бы его связать через (INNER JOIN в MySQL).

А дальше уже поля те же что и у юзера.

И получится БД с которой уже можно работать.

→ Ссылка