十一、SQLAlchemy的多对多关系
发布日期:2021-05-10 05:02:23 浏览次数:16 分类:精选文章

本文共 3241 字,大约阅读时间需要 10 分钟。

SQLALCHEMY ���������������������������

��� SQLAlchemy ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ SQLAlchemy ���������������������������

������������������������������

������������������������������������������������������������������������������������������������������

# config.py
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# ������ Flask ������������
app = Flask(__name__)
# ��������� SQLALCHEMY
db = SQLAlchemy(app)
# ��������� URI ������������
SQLALCHEMY_DATABASE_URI = "mysql://root:root@localhost:3306/db_demo4?charset=utf8"
SQLALCHEMY_TRACK_MODIFICATIONS = False
# ��� Flask ���������������������������
app.cli.add_command(db.create_all)
# ������������������
# ���������������
create database db_demo4 charset utf8;

���������������

���������������������������������������������������������������

from db import db
class Category(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
description = db.Column(db.Text)
# ���������������
articles = db.relationship('Article', backref='categories', lazy=True)
from db import db
class Article(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(200), nullable=False)
content = db.Column(db.Text)
created_at = db.Column(db.DateTime, default=db.datetime.now)
category_id = db.Column(db.Integer, db.ForeignKey('category.id'), nullable=True)
# ������������������������������
categories = db.relationship('Category', backref='articles', lazy=True)

������������������

��������������������������������������� Category ��� Article ��������������������������������������� SQLAlchemy ������relationship() ���������������������������������������������������������������������������������

  • backref ������������������������������������������������������backref='categories' ������ Article ������ Category ������������������
  • lazy=True ������������ SQLAlchemy ������������ lazy-loading ���������������������������������

������������������������������������������������������������������������������������������������������������category_id ��� Article ������������������������������������������������������������ Category ������������ id���

������������������������������

������������������������������������������������������������������������������������������������������������ Flask ���������������������

flask db upgrade

���������������������������������������������������������������������������������

  • ������ migrations ������������������������������
  • ��������������������������� SQLite ���������������������
  • ���������������������������������������������������������������������������������
  • ������

    ��������������������������������������������������������� SQLAlchemy ���������������������������������������������������������������������������������������������������������������������������������������������������������SQLAlchemy ������������������������������������������������������������������������������������������������������������������ Web ���������

    上一篇:十八、flask之g对象
    下一篇:十六、Flask操作session

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月04日 10时44分49秒