Я писал программу и нужно было создать таблицу множество к множеству, получилось следующее:
class Moneys(Base):
def __init__(self):
super().__init__()
self.name: str = "moneys"
self.init()
def init(self):
with self.conn:
self.cursor.execute(f"""CREATE TABLE IF NOT EXISTS {self.name} (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
post_id INTEGER,
money INTEGER DEFAULT 0,
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY(post_id) REFERENCES posts(id) ON DELETE CASCADE
)""")
class Users(Base):
def __init__(self):
super().__init__()
self.name: str = "users"
self.init()
def init(self):
with self.conn:
self.cursor.execute(f"""CREATE TABLE IF NOT EXISTS {self.name} (
id INTEGER PRIMARY KEY AUTOINCREMENT,
firstname VARCHAR(64) NOT NULL,
lastname VARCHAR(64) NOT NULL
)""")
class Posts(Base):
def __init__(self):
super().__init__()
self.curr_id: bool | int = False
self.curr_post: bool | dict = False
self.name: str = "posts"
self.init()
def init(self):
with self.conn:
self.cursor.execute(f"""CREATE TABLE IF NOT EXISTS {self.name} (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR(20) NOT NULL,
money_id INTEGER,
FOREIGN KEY(money_id) REFERENCES moneys(id) ON DELETE CASCADE
)""")
Мне нужно создать новый Post, но как мне это сделать, если мне нужно в бд: Posts указать money_id, а в бд: Moneys указать post_id?