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同时向控制台和文件输出日志logging的方法
May 26 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
python实现词法分析器
Jan 31 Python
Python实现求两个数组交集的方法示例
Feb 23 Python
新手如何发布Python项目开源包过程详解
Jul 11 Python
Python Django 命名空间模式的实现
Aug 09 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
python3中利用filter函数输出小于某个数的所有回文数实例
Nov 24 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python中字符串的编码与解码详析
Dec 03 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 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 日期时间处理函数小结
2009/12/18 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python创建模块及模块导入的方法
2015/05/27 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
详解python函数传参是传值还是传引用
2018/01/16 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Python File(文件) 方法整理
2019/02/18 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
实习生单位鉴定意见
2013/12/04 职场文书
大学生职业规划论文
2014/01/11 职场文书
领班岗位职责范文
2014/02/06 职场文书
争论的故事教学反思
2014/02/06 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
经典演讲稿开场白
2014/08/25 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
求职简历自我评价2015
2015/03/10 职场文书
2016新年问候语大全
2015/11/11 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
python3读取文件指定行的三种方法
2021/05/24 Python
GPU服务器的多用户配置方法
2022/07/07 Servers