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递归计算N!的方法
May 05 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
Aug 31 Python
Python通用循环的构造方法实例分析
Dec 19 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
Django REST framework 限流功能的使用
Jun 24 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 Squid中可缓存的动态网页设计
2008/09/17 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
JavaScript 事件系统
2010/07/22 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
canvas的神奇用法
2017/02/03 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
django-filter和普通查询的例子
2019/08/12 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
儿童生日会策划方案
2014/05/15 职场文书
八一建军节慰问信
2015/02/14 职场文书
办公室卫生管理制度
2015/08/04 职场文书
物业公司管理制度
2015/08/05 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python