Какую выбрать разметку sqlite3 для телеграм бота на python
Я использую следующие таблицы
'''
class Users(Base):
__tablename__ = "users"
id: Mapped[int] = mapped_column(primary_key=True)
tg_id = mapped_column(BigInteger)
participants_rel: Mapped[List['Participants']] = relationship(back_populates="user_rel")
введите сюда код
class Events(Base):
__tablename__ = "events"
id: Mapped[int] = mapped_column(primary_key=True)
title: Mapped[str] = mapped_column(String(100))
description: Mapped[str] = mapped_column(String(1024))
date: Mapped[DateTime] = mapped_column(DateTime)
participants_rel: Mapped[List['Participants']] = relationship(back_populates="event_rel")
class Participants(Base):
__tablename__ = "participants"
id: Mapped[int] = mapped_column(primary_key=True)
user: Mapped[int] = mapped_column(ForeignKey("users.id"))
event: Mapped[int] = mapped_column(ForeignKey("events.id"))
user_rel: Mapped['Users'] = relationship(back_populates="participants_rel")
event_rel: Mapped['Events'] = relationship(back_populates="participants_rel")
'''
И у меня вопрос. Можно ли просто создать в таблице Events колонку участников принимающую список, чтобы облегчить код не добавляя в него функции для поиска tg_id по Users.id через отношения между этими таблицами в случае если нужно будет сделать рассылку или просто вывести список записавшихся на это мероприятие. ИИ говорит, что такой подход нарушает реляционные принципы построения баз данных. И у меня опасения, что я что-то могу сделать не так, а переделывать работающего бота будет в 100 раз сложнее. Кстати. Количество записавшихся вряд ли перевалит за 100. В самом крайнем случае 1000