El objeto () no toma argumentos, error de tipo en FlaskAlchemy.
Cuando intento ejecutar este código en Python, obtengo errores de tipo en el archivo “/home/codio/workspace/MyProject/app.py”, línea 8 en
- class Book(db.Model): en
- File /home/codio/workspace/MyProject/app.py, línea 15 en Book
- tradePrice = db.Column(db.Integer(length=10), nullable=0) TypeError: object() no acepta parámetros.
Soy nuevo en Flask y no entiendo qué está causando esto.
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy # biblioteca de base de datos para Flask
# usando render_template para tener el código html en diferentes archivos
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///books.db' # configurando una base de datos
db = SQLAlchemy(app)
class Book(db.Model):
barcode = db.Column(db.String(length=12), nullable=0, primary_key=1)
title = db.Column(db.String(length=50), nullable=0, unique=1)
author = db.Column(db.String(length=50), nullable=0)
publicationDate = db.Column(db.String(length=10), nullable=0)
quantity = db.Column(db.Integer(), nullable=0)
description = db.Column(db.String(length=1000), nullable=0)
tradePrice = db.Column(db.Integer(length=10), nullable=0) # Precio de comercio
retailPrice = db.Column(db.Integer(length=10), nullable=0)
@app.route("/login") # página de inicio
def login_page():
return render_template("login.html")
@app.route("/home")
@app.route("/")
def home_page():
return render_template("home.html")
@app.route("/stock")
def stock_page():
return render_template("stock.html", books=books)
davy.ai
El error ocurre en la línea 15 donde
db.Integer()
recibe un argumentolength=10
. Sin embargo,db.Integer()
no acepta ningún argumento, de ahí el error “object() no acepta parámetros”. Para solucionar este error, simplemente retirelength=10
dedb.Integer()
.