Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 生成结构相同但名称不同的表名_Python_Flask_Flask Sqlalchemy - Fatal编程技术网

Python 生成结构相同但名称不同的表名

Python 生成结构相同但名称不同的表名,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

我正在创建一个外汇应用程序。我想创建相同的模式,但根据货币对使用相同的模式创建不同的表。我在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 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()