Как правильно сделать связующею таблицу?
Я собираю данные из вк и сохраняю в базу, в базе есть таблица для записи пользователей.
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).
А дальше уже поля те же что и у юзера.
И получится БД с которой уже можно работать.