flask models.py

段溪叠
2023-12-01

**app.py文件
config.py文件
models.py文件
views.py文件
**

在app.py文件中

from flask import Flask,request
from flask_sqlalchemy import SQLAlchemy
import config

app = Flask(__name__)
app.config.from_object(config)
db = SQLALchemy(app)

在config.py文件中

CSRF_ENABLED = True
SECRET_KEY = 'hello world'

USERNAME = '***'
PASSWORD = '***'
HOST = '**.**.**.**'
PORT = '****'
DATABASE = '**'

SQLALCHEMY_DATABASE_URI = 'mysql+mysqldb://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOST,PORT,DATABASE)
print(SQLALCHEMY_DATABASE_URI)
SQLALCHEMY_POOL_TIMEOUT = 6
SQLALCHEMY_MAX_OVERFLOW = 3
SQLALCHEMY_TRACK_MODIFICATIONS = False

在models.py文件中

from run import db
from sqlalchemy import ForeignKey
from sqlalchemy.orm import relationship

class User(db.Model):
    __tablename__ = 'mysqltablename'
    name = db.Column(db.String(255),primary_key=True,nullable=False)
    email = db.Column(db.String(255),nullable=True)
   	***** = db.Column(db.Integer(),nullable=True)
    ***** = db.Column(db.Integer(),nullable=True)
    pswd = db.Column(db.String(36),nullable=True)
    ***** = db.Column(db.Integer(),nullable=True)
    ***** = db.Column(db.Text,nullable=True)

    #repr(),在调式时展现出来的名字
    def __repr__(self):
        return '<google_pub_no:{}>'.format(self.****)

在views.py文件中

from models import *

#一次插入一条数据
ro1 = User(name='admin')
db.session.add(ro1)
db.session.commit()
#再次插入一条数据
ro2 = Role(name='user')
db.session.add(ro2)
db.session.commit()

#一次插入多条数据
us1 = User(name='wang',email='wang@163.com',pswd='123456')
us2 = User(name='zhang',email='zhang@189.com',pswd='201512')
us3 = User(name='chen',email='chen@126.com',pswd='987654')
us4 = User(name='zhou',email='zhou@163.com',pswd='456789')
db.session.add_all([us1,us2,us3,us4])
db.session.commit()

#逻辑与,需要导入and,返回and()条件满足的所有数据。
from sqlalchemy import and_
User.query.filter(and_(User.name!='wang',User.email.endswith('163.com'))).all()
#或者不使用and_
User.query.filter(User.name!='wang',User.email.like('%163.com%')).all()
 类似资料:

相关阅读

相关文章

相关问答