在Models下定义好Base类后继承出现的问题

来源:9-6 用户注册

31415926

2018-04-19

先贴错误:

sqlalchemy.exc.ArgumentError: Mapper Mapper|Base|base could not assemble any primary key columns for mapped table 'base'

base.py 

from sqlalchemy import Column,SmallInteger
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class Base(db.Model):
    status = Column(SmallInteger, default=1)

gift.py

from sqlalchemy import Column,Integer,String,Float,Boolean,ForeignKey,SmallInteger
from sqlalchemy.orm import relationship

from app.models.base import Base


class Gift(Base):
    id = Column(Integer, primary_key=True)
    user = relationship('User')
    uid = Column(Integer, ForeignKey('user.id'))
    isbn = Column(String(15),nullable=False)
    #book = relationship('Book')
    #bid = Column(Integer, ForeignKey('book.id'))
    launched = Column(Boolean,default=False)

同样的 book.py和user.py也继承了base.py 。运行的时候报上面的错误



写回答

2回答

7七月

2018-04-19

这样可以让sqlalchemy知道这是个抽象类,不需要对这个类也生成一个表。

0
0

31415926

提问者

2018-04-19

额 。。 __abstract__=True  

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程