Flask sqlalchemy.exc.NoForeignKeysError:Can';在';服务';和';修理';
我试图将类图映射到数据库表中。我有一个Flask sqlalchemy.exc.NoForeignKeysError:Can';在';服务';和';修理';,flask,flask-sqlalchemy,Flask,Flask Sqlalchemy,我试图将类图映射到数据库表中。我有一个repair类继承了服务类。但是当我尝试这样做时,它说,在“服务”和“修复”之间找不到任何外键关系 这是我的全部代码 from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy from flask_marshmallow import Marshmallow from sqlalchemy import ForeignKey import os ap
repair
类继承了服务
类。但是当我尝试这样做时,它说,在“服务”和“修复”之间找不到任何外键关系
这是我的全部代码
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from sqlalchemy import ForeignKey
import os
app = Flask(__name__)
basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'db.sqlite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
database = SQLAlchemy(app)
ORM = Marshmallow(app)
# Models
# Service Model
class Service(database.Model):
service_id = database.Column(database.Integer, primary_key=True)
image_url = database.Column(database.String(255))
jewellery_type = database.Column(database.String(50))
def __init__(self, image_url, jewellery_type):
self.image_url = image_url
self.jewellery_type = jewellery_type
# Service Schema
class ServiceSchema(ORM.Schema):
class Meta:
fields = ('service_id', 'image_url', 'jewellery_type')
# Initialize Service Schema
service_schema = ServiceSchema()
Service_schema_all = ServiceSchema(many=True)
# repair Model
class Repair(Service):
repair_id = database.Column(database.Integer, ForeignKey('service_id'), primary_key=True)
damage_type = database.Column(database.String(50))
repair_type = database.column(database.String(50))
def _init__(self, repair_id, damage_type, repair_type):
self.repair_id = repair_id
self.damage_type = damage_type
self.repair_type = repair_type
# repair Schema
class RepairSchema(ORM.Schema):
class Meta:
fields = ('repair_id', 'damage_type', 'repair_type')
# Initialize Repair Schema
repair_schema = RepairSchema()
repair_schema_all = RepairSchema(many=True)
# start the server
if __name__ == '__main__':
app.run(debug=True)
尝试更改此引用
ForeignKey('service_id')
到
我做了这么多的研究,仍然不能解决这个问题。
ForeignKey('service.service_id').