
這篇文章主要為大家展示了“Flask和Django框架中如何自定義模型類的表名”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Flask和Django框架中如何自定義模型類的表名”這篇文章吧。
一. Flask和Django中定義表名(執(zhí)行遷移后生成)的方式和flask是不同的:
1. Django中表名的定義方式,以代碼為例說明
class User(AbstractUser): # 繼承自認(rèn)證系統(tǒng)模型類 """用戶模型類""" mobile = modles.CharField(max_length=11, mix_length = 11, uniqe=True, verbose_name='手機(jī)號(hào)') class Meta: db_table = 'tb_users' # 定義數(shù)據(jù)庫中表名 , 如果不定義Django會(huì)生成默認(rèn)固定格式表名 verbose_name = 'tb_table' # 定義后臺(tái)管理中類名 verbose_naem_plural = vervose_name # 定義后臺(tái)管理中類
模型類中屬性和修改類中verbose_name = ' ###' 均是用來在后臺(tái)管理中顯示的名稱
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' # 定義數(shù)據(jù)庫中表名
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(64),unique=True)
# 一對(duì)多的關(guān)系模型中,一方定義關(guān)系,us給一方使用,實(shí)現(xiàn)一對(duì)多的查詢,backref給多方使用,實(shí)現(xiàn)多對(duì)一的查詢.
us = db.relationship('Role', backref='movie')
def __repr__(self):
return 'Movie:%s' % self.name
# 自定義模型類:多方
class Role(db.Model):
__tablename__ = 'roles' # 如果不定義表名,flask會(huì)生成默認(rèn)固定格式表名.
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中,均有框架已封裝好的模型類,而且固定了自定義的模型類必須繼承自框架已封裝好的模型類作為其父類.
以上是“Flask和Django框架中如何自定義模型類的表名”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:Flask和Django框架中如何自定義模型類的表名-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article0/ejeio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、靜態(tài)網(wǎng)站、服務(wù)器托管、建站公司、全網(wǎng)營銷推廣、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容