炼金术,我不能打开我的db_创建.py

2024-04-25 10:19:27 发布

您现在位置:Python中文网/ 问答频道 /正文

Ame得到TypeError的这个错误:init()正好需要1个参数(给定5个)…我哪里出错了??任何帮助我都会感激的,谢谢

那是我的db_创建.py文件

from app import db
from models import post

db.create_all()

db.session.add(post("Good", "i\m good","yes","hae"))
db.session.add(post("Good", "hahaha"))
db.session.add(post("Good", "you"))
db.session.add(post("Good", "hahaha"))

我的型号.py文件是

from app import db

class post(db.Model):
#    table name
    __tablename__ = "signup"

#columns names
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String, nullable=False)
    email= db.Column(db.String, nullable=False)
    password = db.Column(db.String, nullable=False)
    confirm= db.Column(db.String, nullable=False)

def __init__(self, username, email, password, confirm):

    self.username = username
    self.email = email
    self.pasword = password
    self.confirm = confirm

def __repr__(self,*args, **kwargs):
    return '<username {}'.format(self.username),     'email{}'.format(self.email),'password{}'.format(self.password)

这是我的初始化

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.secret_key = "my previous"
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///signup.db'

db = SQLAlchemy(app)

from app import views

Tags: fromimportselfaddappdbstringemail
1条回答
网友
1楼 · 发布于 2024-04-25 10:19:27

在post模型中不需要__init__方法。只要使用从db.Model继承的__init__方法就可以了。你知道吗

但是我相信你需要修改一下你的db_create.py

例如:

db.session.add(post(username="User", email="user@email.com", password="password", confirm="Yes"))

您还需要记住commit您的更改:

db.session.commit()

相关问题 更多 >