我有一个没有primary key
的表。我真的不想对这个表应用这个约束。
在SQLAlchemy中,我通过以下方式定义表类:
class SomeTable(Base):
__table__ = Table('SomeTable', meta, autoload=True, autoload_with=engine)
当我试图查询这个表时,我得到:
ArgumentError: Mapper Mapper|SomeTable|SomeTable could not assemble any primary key columns for mapped table 'SomeTable'.
如何丢失每个表都必须有主键的约束?
对此没有合适的解决方案,但有解决方法:
解决方案1
将参数primary_key添加到没有主键的现有列将起作用。
解决方案2
只需在ORM层声明一个新的虚拟列,而不是在实际的DB中。在SQLalchemy模型中定义
在SQL炼金术中,只有一种方法可以绕过主键约束,那就是将特定列映射到表中作为主键,即使它们本身不是主键。 http://docs.sqlalchemy.org/en/latest/faq/ormconfiguration.html#how-do-i-map-a-table-that-has-no-primary-key。
相关问题 更多 >
编程相关推荐