Python 生成结构相同但名称不同的表名
我正在创建一个外汇应用程序。我想创建相同的模式,但根据货币对使用相同的模式创建不同的表。我在google和此处也搜索了这个。没有任何案例符合我的要求。我正在使用数据库ORM和postgres的Flask_sqlalchemy作为我的数据库 app/init.pyPython 生成结构相同但名称不同的表名,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,我正在创建一个外汇应用程序。我想创建相同的模式,但根据货币对使用相同的模式创建不同的表。我在google和此处也搜索了这个。没有任何案例符合我的要求。我正在使用数据库ORM和postgres的Flask_sqlalchemy作为我的数据库 app/init.py from flask import Flask from flask_mongoengine import MongoEngine from app.config import Config from flask_restful imp
from flask import Flask
from flask_mongoengine import MongoEngine
from app.config import Config
from flask_restful import Api
from flask_jwt_extended import JWTManager
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
app=Flask(__name__)
app.config.from_object(Config)
dbs=SQLAlchemy(app)
migrate=Migrate(db=dbs,app=app)
jwt=JWTManager(app)
db=MongoEngine(app)
api=Api(app)
from app import errors,models,resources
api.add_resource(resources.CourseListResource,'/api/v1.0/courses',endpoint="courses")
api.add_resource(resources.CourseResource,'/api/v1.0/courses/<string:name>',endpoint="course")
api.add_resource(resources.UserRegistration,'/api/v1.0/register')
api.add_resource(resources.UserLogin,'/api/v1.0/login')
api.add_resource(resources.UserLogoutAccess, '/api/v1.0/logout/access')
api.add_resource(resources.UserLogoutRefresh, '/api/v1.0/logout/refresh')
api.add_resource(resources.TokenRefresh, '/api/v1.0/token/refresh')
app/models.py
from app import dbs
class Forex(dbs.Model):
id = dbs.Column(dbs.Integer, primary_key=True)
time = dbs.Column(dbs.DateTime, unique=True, nullable=False)
high = dbs.Column(dbs.Float, nullable=True)
low=dbs.Column(dbs.Float,nullable=True)
open=dbs.Column(dbs.Float,nullable=True)
close=dbs.Column(dbs.Float,nullable=True)
volume=dbs.Column(dbs.Integer,nullable=True)
def save_to_db(self):
dbs.session.add(self)
dbs.session.commit()
目前我还没有给出表名。我应该能够为此架构创建不同的表名并对其进行操作。我找不到为每个货币对创建动态表的方法。您能举一个您试图实现的示例吗?据我所知,您希望有多个
Forex
表遵循相同的模式,但为什么不简单地将currency\u从和currency\u添加到该表中呢?我不能这样做,因为数据集将是巨大的。因此,对于每个货币对,我希望维护一个不同的表。我认为搜索该表将这是非常困难的,因为每秒钟都会有数据点。通过这种方式,我可以在表中维护特定货币对的历史数据,我认为这在搜索时会更容易、更快。您是否提前知道货币对,或者它必须是完全动态的?它应该是完全动态的。我正在尝试创建它使用函数,但我认为应该有一个更简单的方法来做到这一点。
from app import dbs
class Forex(dbs.Model):
id = dbs.Column(dbs.Integer, primary_key=True)
time = dbs.Column(dbs.DateTime, unique=True, nullable=False)
high = dbs.Column(dbs.Float, nullable=True)
low=dbs.Column(dbs.Float,nullable=True)
open=dbs.Column(dbs.Float,nullable=True)
close=dbs.Column(dbs.Float,nullable=True)
volume=dbs.Column(dbs.Integer,nullable=True)
def save_to_db(self):
dbs.session.add(self)
dbs.session.commit()