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实现基于权重的随机数2种方法
Apr 28 Python
Python 正则表达式的高级用法
Dec 04 Python
requests和lxml实现爬虫的方法
Jun 11 Python
Python实现字典按照value进行排序的方法分析
Dec 23 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Python网络编程使用select实现socket全双工异步通信功能示例
Apr 09 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
如何运行带参数的python脚本
Nov 15 Python
python opencv实现信用卡的数字识别
Jan 12 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 Python
Python中的 Set 与 dict
Mar 13 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中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
python爬虫 正则表达式解析
2019/09/28 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
2013/01/06 HTML / CSS
草莓网官网:StrawberryNET
2019/08/21 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
大学生入党思想汇报
2014/01/14 职场文书
运动会通讯稿150字
2014/02/15 职场文书
买房协议书
2014/04/11 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
怎样写辞职信
2015/02/27 职场文书
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS