Flask和Django框架中自定义模型类的表名、父类相关问题分析
作者:qq_41804164 发布时间:2022-04-04 00:23:17
标签:Flask,Django,模型类,父类
本文实例分析了Flask和Django框架中自定义模型类的表名、父类相关问题。分享给大家供大家参考,具体如下:
一. Flask和Django中定义表名(执行迁移后生成)的方式和flask是不同的:
1. Django中表名的定义方式,以代码为例说明
class User(AbstractUser): # 继承自认证系统模型类
"""用户模型类"""
mobile = modles.CharField(max_length=11, mix_length = 11, uniqe=True, verbose_name='手机号')
class Meta:
db_table = 'tb_users' # 定义数据库中表名 , 如果不定义Django会生成默认固定格式表名
verbose_name = 'tb_table' # 定义后台管理中类名
verbose_naem_plural = vervose_name # 定义后台管理中类
模型类中属性和修改类中verbose_name = ' ###'
均是用来在后台管理中显示的名称
2. Flask中表名的定义方式,以代码为例说明
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from settings import Config
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
# 自定义模型类:一方
calss Movie(db.Model): # 必须继承自db.Model
__tablename__ = 'movies' # 定义数据库中表名
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(64),unique=True)
# 一对多的关系模型中,一方定义关系,us给一方使用,实现一对多的查询,backref给多方使用,实现多对一的查询.
us = db.relationship('Role', backref='movie')
def __repr__(self):
return 'Movie:%s' % self.name
# 自定义模型类:多方
class Role(db.Model):
__tablename__ = 'roles' # 如果不定义表名,flask会生成默认固定格式表名.
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True, index=True)
email = db.Column(db.String(64),unique=True)
password = db.Column(db.String(64))
movie_id = db.Column(db.Integer, db.ForeignKey('movie.id')) # 多方定义外键,指向一方主键
def __repr__(self):
return 'Role:%s' % self.name
if __name__ == '__main__':
db.drop_all()
db.cteate_all()
app.run()
二. Flask和Django中父类问题
在Django和Flask中,均有框架已封装好的模型类,而且固定了自定义的模型类必须继承自框架已封装好的模型类作为其父类.
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/qq_41804164/article/details/80836981


猜你喜欢
- 问题你想根据一组语法规则解析文本并执行命令,或者构造一个代表输入的抽象语法树。 如果语法非常简单,你可以不去使用一些框架,而是自己写这个解析
- 本文实例讲述了mysql存储过程原理与使用方法。分享给大家供大家参考,具体如下:存储过程包含了一系列可执行的sql语句,存储过程存放于MyS
- 让长字符自动换行 (比如 URL 和 Email地址) 目的:让很长的字符串,能自动换行,但是不要把短的单词从中间断开。方法如下:<s
- 登录注册系统是日常上网最普通的操作,我设了一个分类一步步完善注册登录系统,若哪里有误,请见谅。所用语言:php数据库 :mysql本次实现功
- <!DOCTYPE html><html lang="en"><head><m
- 方式一、使用localStorage在数据存储1、要在浏览器刷新的时候重新存储起来if (window.localStorage.getIt
- Airtest全称AirtestProject,是由网易游戏推出的一款自动化测试框架,在软件测试的时候使用到了该框架。这里记录一下安装、使用
- gojson是快速解析json数据的一个golang包,你使用它可以快速的查找json内的数据安装 go get github.com/wi
- mysql group by having 实例注意:使用group by的时候,SELECT子句中的列名必须为分组列。 如下实例必须包括n
- 本文实例讲述了python实现简单socket程序在两台电脑之间传输消息的方法。分享给大家供大家参考。具体分析如下:python开发简单so
- 我们在为大家整Python程序员面试试题中,发现了一些被面试官问到的最多的一些问题,以下就是本篇内容:Python是个非常受欢迎的编程语言,
- 前言for...in 是Python程序员使用最多的语句,for 循环用于迭代容器对象中的元素,这些对象可以是列表、元组、字典、集合、文件,
- 观察一下”插入排序“:其实不难发现她有个缺点:如果当数据是”5, 4, 3, 2, 1“的时候,此时我们将“无序块”中的记录插入到“有序块”
- 代码如下:<% function GetBot() '查询蜘蛛 dim s_
- %有哪几种含义?查找手册翻看《The Python Libary Reference》python库指南中附录index部分(P1899):
- Numpy中的N维数组(ndarray)Numpy 中的数组是一个元素表(通常是数字),所有元素类型相同,由正整数元组索引。在 Numpy
- 下面是用Python实现Floyd算法的代码,供大家参考,具体内容如下# -*- coding: utf-8 -*- ""
- 本文实例为大家分享了微信小程序实现图片上传功能的具体代码,供大家参考,具体内容如下前端:微信开发者工具后端:.Net服务器:阿里云这里介绍微
- 弹出层提示信息,这是移动前端开发中最常见的需求,你可能会想到一些流行的弹框插件,比如 经典的artDialog 炫酷的Sweetalert等
- Pycharm中SQL语句提示SQL Dialect is Not Configured使用Pycharm进行数据库查询时,SQL语句经常提