Я создал базу данных SQLite с приведенным ниже кодом, но когда я пытаюсь ввести данные в базу данных, ничего не появляется. Я не уверен, что происходит не так ..SQLAlchemy не удалось добавить данные в таблицу
код для создания базы данных и таблиц
# Create a database engine
engine = create_engine(r'sqlite:///Data\test.db', echo=True)
Base = declarative_base()
class Framework_Market(Base): # Parent table for Child table
__tablename__ = 'Market' # Defining the Parent table name
id = Column(Integer, primary_key=True)
# Tables that it will create
Country = Column(String(255))
def __init__(self, market):
self.market = market
class Framework_Equity(Base):
__tablename__ = 'Equity' # Defining Child Table
id = Column(Integer, primary_key=True)
# Tables that it will create
Date = Column(Date)
stock_id = Column(Integer, ForeignKey('Market.id'))
stock = relationship("Framework_Market", backref=backref("Equity", order_by=id))
def __init__(self, date):
self.date = date
# Create Tables
Base.metadata.create_all(engine)
код для добавления значений в таблицах
engine = create_engine(r'sqlite:///Data\test.db', echo=True)
# Create a Session
Session = sessionmaker(bind=engine)
session = Session()
# Create a market
new_market = Framework_Equity("United States")
new_market.Equity = [Framework_Equity(datetime.date(2001, 1, 18))]
# Add the record to session object - Putting it into the database
session.add(new_market)
session.commit()
В настоящее время, когда Я запускаю код для ввода данных в таблицы, и я пытаюсь использовать «DB Browser for SQLite», чтобы узнать, записано ли в базу данных, и показывает, что в базе данных создано пустое поле. Он не записывает «Соединенные Штаты» в таблице и не записывает «дату» в таблицу соединения.
Что я здесь делаю неправильно?
Спасибо за ваш ответ! Оно работает! Но для второй части, где вы попросили меня изменить 'new_market.Equity' на' new_market.stock', это не сработало. Оригинальный, который я работал, хотя. –
О, ты прав, это было неправильно. Удалил его из ответа. –