Python 如何在哪里创建更多的表

Python 如何在哪里创建更多的表,python,mysql,flask-sqlalchemy,Python,Mysql,Flask Sqlalchemy,我按照教程创建了一个简单的数据库支持的flask网站 我成功地遵循了教程,但我正在努力使用此方法创建多个表。我想把这张桌子叫做配料。 这是我在flask_app.py上的代码 from flask import Flask, redirect, render_template, request, url_for from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config["DEBUG"] = True S

我按照教程创建了一个简单的数据库支持的flask网站

我成功地遵循了教程,但我正在努力使用此方法创建多个表。我想把这张桌子叫做配料。 这是我在flask_app.py上的代码

from flask import Flask, redirect, render_template, request, url_for
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)
app.config["DEBUG"] = True

SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://{username}:
{password}@{hostname}/{databasename}".format(
    username="Harrryj",
    password="mypassword",
    hostname="Harrryj.mysql.pythonanywhere-services.com",
    databasename="Harrryj$comments",
)
app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)



class Comment(db.Model):

    __tablename__ = "Comment"

    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(100))


@app.route("/", methods=["GET", "POST"])
def index():
    if request.method == "GET":
        return render_template("main_page.html", 
comments=Comment.query.all())

    comment = Comment(content=request.form["contents"])
    db.session.add(comment)
    db.session.commit()
    return redirect(url_for('index'))



class Ingredient(db.Model):
    __tablename__ = "Ingredient"

    Ingredient_ID = db.Column(db.Integer, primary_key=True)
    Ingredient_Name = db.Column(db.String(100))
    Ingredient_Calories = db.Column(db.Integer(100))
当我尝试通过bash控制台在数据库中创建表时,会发生以下情况:

In [6]: from flask_app import db
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-5825668f6e50> in <module>()
----> 1 from flask_app import db
/home/Harrryj/mysite/flask_app.py in <module>()
     41 
     42 
---> 43 class Ingredient(db.Model):
     44     __tablename__ = "Ingredient"
     45 
/home/Harrryj/mysite/flask_app.py in Ingredient()
     46     Ingredient_ID = db.Column(db.Integer, primary_key=True)
     47     Ingredient_Name = db.Column(db.String(100))
---> 48     Ingredient_Calories = db.Column(db.Integer(100))
     49 
     50 
TypeError: object() takes no parameters

任何帮助都将不胜感激!我知道我遗漏了本教程的原始作者。问题是你有

Ingredient_Calories = db.Column(db.Integer(100))
在突出显示的行中。整数没有大小,因此应改为:

Ingredient_Calories = db.Column(db.Integer)

顺便说一句,你的时机很好。我刚刚写了一篇文章,其中包括添加一个额外的表,这样您可能会在那里找到其他有用的东西。

奏效了!非常感谢: