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的collections模块中的OrderedDict有序字典
Jul 07 Python
python中numpy包使用教程之数组和相关操作详解
Jul 30 Python
matplotlib subplots 调整子图间矩的实例
May 25 Python
python机器学习之神经网络实现
Oct 13 Python
python得到电脑的开机时间方法
Oct 15 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
对django views中 request, response的常用操作详解
Jul 17 Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 Python
Python socket处理client连接过程解析
Mar 18 Python
python如何编写win程序
Jun 08 Python
Django:使用filter的pk进行多值查询操作
Jul 15 Python
selenium+超级鹰实现模拟登录12306
Jan 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学习笔记(毕业设计)
2012/02/21 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
js中style.display=""无效的解决方法
2014/10/30 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
python创建关联数组(字典)的方法
2015/05/04 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
Python中super的用法实例
2015/05/28 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
Python Json数据文件操作原理解析
2020/05/09 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
如何填写个人简历自我评价
2013/12/10 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
大学生见习报告总结
2014/11/04 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server