您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Flask和Django框架中如何自定義模型類的表名”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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中,均有框架已封裝好的模型類,而且固定了自定義的模型類必須繼承自框架已封裝好的模型類作為其父類.
以上是“Flask和Django框架中如何自定義模型類的表名”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。