sqlalchemy如何删除sqlite列
时间: 2023-10-25 13:06:31 浏览: 88
使用SQLAlchemy删除SQLite列的步骤如下:
1. 首先定义一个模型类,包含要删除的列。
```python
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
Base = declarative_base()
class MyTable(Base):
__tablename__ = 'mytable'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
to_delete = Column(String)
```
2. 使用`Column.drop()`方法删除列。该方法接受一个参数,即要删除的列。
```python
from sqlalchemy import inspect
inspector = inspect(engine)
columns = inspector.get_columns('mytable')
for column in columns:
if column['name'] == 'to_delete':
MyTable.__table__.columns[column['name']].drop()
```
这将删除名为`to_delete`的列。注意,这只会从数据库中删除列,而不会从模型类中删除。如果您希望在模型类中删除列,请手动删除列并使用`Column`的`__table__`属性进行同步。
阅读全文