File "E:\python-3.7.0\lib\site-packages\sqlalchemy\orm\mapper.py", line 693, in __init__ self._configure_pks() File "E:\python-3.7.0\lib\site-packages\sqlalchemy\orm\mapper.py", line 1386, in _configure_pks % (self, self.persist_selectable.description) sqlalchemy.exc.ArgumentError: Mapper mapped class D_huaxue->d_huaxue could not assemble any primary key columns for mapped table 'd_huaxue'
时间: 2023-07-21 15:19:12 浏览: 123
pythonamd64python-3.7.0-amd64安装包
这个错误通常表示在创建 ORM 映射时没有找到主键列。在 SQLAlchemy 中,每个映射都必须至少有一个主键列,这是为了确保每个行都可以唯一地标识。
你需要检查 `D_huaxue` 类对应的数据库表 `d_huaxue` 是否有主键列。如果没有主键列,你需要添加一个主键列,或者将已有的列设置为主键列。在 SQLAlchemy 中,可以使用 `primary_key=True` 参数将一个列设置为主键列,如下所示:
```python
class D_huaxue(db.Model):
__tablename__ = 'd_huaxue'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
longitude = db.Column(db.Float, nullable=False)
latitude = db.Column(db.Float, nullable=False)
```
在上述代码中,`id` 列是一个整数类型的主键列,`name`、`longitude` 和 `latitude` 列分别是字符串类型和浮点数类型的普通列。这样定义之后,`D_huaxue` 类就可以正确地映射到 `d_huaxue` 表了。
阅读全文