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中的rjust()方法使用详解
May 19 Python
python分析作业提交情况
Nov 22 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
Python面向对象多态实现原理及代码实例
Sep 16 Python
python 检测nginx服务邮件报警的脚本
Dec 31 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
python使用pygame创建精灵Sprite
Apr 06 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下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP图片上传代码
2013/11/04 PHP
PHP读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
PHP实现验证码校验功能
2017/11/16 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
js获取域名的方法
2015/01/27 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
原生JS轮播图插件
2017/02/09 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
使用C++扩展Python的功能详解
2018/01/12 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
Django ORM filter() 的运用详解
2020/05/14 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
公务员诚信承诺书
2014/05/26 职场文书
基层党组织整改方案
2014/10/25 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
校园安全学习心得体会
2016/01/18 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle