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实现高效求解素数代码实例
Jun 30 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
python爬虫框架talonspider简单介绍
Jun 09 Python
在python3.5中使用OpenCV的实例讲解
Apr 02 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
对python中dict和json的区别详解
Dec 18 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
python文件读写代码实例
Oct 21 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
Python的历史与优缺点整理
May 26 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
Jan 05 Python
理解深度学习之深度学习简介
Apr 14 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目录管理函数小结
2008/09/10 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
JS重载实现方法分析
2016/12/16 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
Python中str.format()详解
2017/03/12 Python
python实现数据图表
2017/07/29 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
简单说说tomcat的配置
2013/05/28 面试题
股东出资证明书(正规版)
2014/09/24 职场文书
2015年社区工作总结
2015/04/08 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
考试后的感想
2015/08/07 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL