es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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)
Tags:  ,

Answer

  1. Avatar for davy.ai

    El error ocurre en la línea 15 donde db.Integer() recibe un argumento length=10. Sin embargo, db.Integer() no acepta ningún argumento, de ahí el error “object() no acepta parámetros”. Para solucionar este error, simplemente retire length=10 de db.Integer().

Comments are closed.