日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Django中的class Meta知识点

發布時間:2023/12/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django中的class Meta知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

今天來回顧一下Django中model的class Meta

class Main(models.Model):img = models.CharField(max_length=200) # 圖片name = models.CharField(max_length=100) # 名稱trackid = models.CharField(max_length=16) # 通用idclass Meta:abstract = True #抽象類 class MainWheel(Main):# 輪播bannerclass Meta:db_table = 'axf_wheel' class Publisher(models.Model):name = models.CharField(max_length=30)address = models.CharField(max_length=50)city = models.CharField(max_length=60)state_province = models.CharField(max_length=30)country = models.CharField(max_length=50)website = models.URLField()class Meta:ordering = ['order_date']# 按訂單升序排列

以上三種class Meta是比較常用的,所以大概回顧一下。查了一些資料,才勉強搞懂。首先class Meta做為嵌套類,主要目的是給上級類添加一些功能,或

?

者指定一些標準。

??? 比如第一個abstract=True這個東東,是為了繼承,將該基類定義為抽象類,即不必生成數據庫表單,只作為一個可以繼承的基類,把一些子類必須的代碼放在基類,避免重復代碼也避免重復錄入數據庫。大概是這么個意思吧?

?? 再比如db_table='xxxx'這個東東更簡單些,其實就是指定該類的數據庫表單名字。當然如果不指定也沒關系,Django會自動默認的按照一定規則生成數據模型對應的數據庫表名。至于合不合你的意那就得看緣分了,所以自己指定往往比較好。

??? 又比如ordering=‘xxxxx’,是表示按照指定的字段進行數據庫的排序。主要是為了好看好查找。你可以指定任意的表單名稱或內容,數據庫生成之后就會按照指定的列進行排序。還可以升序降序隨機,唉反正挺復雜的。

??? 其實以上三種Django中model嵌套類的元數據定義,都涉及不少的知識點且有多種選擇和用法。甚至這種嵌套類中可以有十幾種不同的元數據定義方法,真要研究下去暈都暈死了。還好沒有一個選項是必需的. 是否添加class Meta 到你的 model 完全是可選的。以后用到什么再查吧,太復雜了。我學習的不好,盡量遇到什么就搞懂什么吧。

?

總結

以上是生活随笔為你收集整理的Django中的class Meta知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。