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读文件逐行处理的示例代码分享
Dec 27 Python
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
基于Python socket的端口扫描程序实例代码
Feb 09 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 Python
TensorFlow——Checkpoint为模型添加检查点的实例
Jan 21 Python
Python2 与Python3的版本区别实例分析
Mar 30 Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 Python
Django框架安装及项目创建过程解析
Sep 14 Python
python如何调用php文件中的函数详解
Dec 29 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 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获取从html表单传递数组的方法
2015/03/20 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
微信小程序解析富文本过程详解
2019/07/13 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
jQuery实现评论模块
2020/08/19 jQuery
原生js实现自定义滚动条
2021/01/20 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
AOP的定义以及作用
2013/09/08 面试题
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
工商企业管理应届生求职信
2014/05/04 职场文书
应届毕业生自荐书
2014/06/18 职场文书
2014年销售工作总结
2014/12/01 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
公务员个人考察材料
2014/12/23 职场文书
会议室使用管理制度
2015/08/06 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python