Flask和Django框架中自定义模型类的表名、父类相关问题分析


Posted in Python onJuly 19, 2018

本文实例分析了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相关内容可查看本站专题:《Python入门与进阶经典教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Python下载懒人图库JavaScript特效
May 28 Python
Python中使用支持向量机(SVM)算法
Dec 26 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
python中pygame安装过程(超级详细)
Aug 04 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
python实现简单倒计时功能
Apr 21 Python
Python读取和写入Excel数据
Apr 20 Python
Python 文字识别
May 11 Python
python多行字符串拼接使用小括号的方法
Mar 19 #Python
python中的字符串内部换行方法
Jul 19 #Python
flask框架视图函数用法示例
Jul 19 #Python
Python中的单行、多行、中文注释方法
Jul 19 #Python
Python定义一个跨越多行的字符串的多种方法小结
Jul 19 #Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 #Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 #Python
You might like
php include的妙用,实现路径加密
2008/07/29 PHP
PHP生成树的方法
2015/07/28 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
python计算书页码的统计数字问题实例
2014/09/26 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python实现根据文件格式分类
2019/10/31 Python
Python命令行click参数用法解析
2019/12/19 Python
python 5个顶级异步框架推荐
2020/09/09 Python
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
平安建设实施方案
2014/03/19 职场文书
听证通知书
2015/04/24 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python