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 相关文章推荐
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
Django基础之Model操作步骤(介绍)
May 27 Python
利用python将json数据转换为csv格式的方法
Mar 22 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
Python minidom模块用法示例【DOM写入和解析XML】
Mar 25 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
用sleep间隔进行python反爬虫的实例讲解
Nov 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防止post重复提交数据的简单例子
2014/06/07 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
实例讲解php实现多线程
2019/01/27 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
通过js获取div的background-image属性
2013/10/15 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
js实现轮播图特效
2020/05/28 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
python str与repr的区别
2013/03/23 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
Python向excel中写入数据的方法
2019/05/05 Python
django API 中接口的互相调用实例
2020/04/01 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
秋季运动会表扬稿
2014/01/16 职场文书
情人节活动策划方案
2014/02/27 职场文书
《在家里》教后反思
2014/03/01 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
监护人证明
2015/06/19 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL
nginx访问报403错误的几种情况详解
2022/07/23 Servers