元資料,指的是「除了欄位外的所有內容」,例如排序方式、資料庫表名、人類可讀的單數或者複數名等等。所有的這些都是非必須的,甚至元資料本身對模型也是非必須的。
在模型中增加元資料,需要在模型類中新增乙個子類,名字是固定的meta
,然後在這個meta類下面增加各種元資料選項。
classcontract(models.model):
"""合同
"""sn = models.charfield(u'
合同號', max_length=128, unique=true)
name = models.charfield(u'
合同名稱
', max_length=64)
memo = models.textfield(u'
備註', blank=true, null=true)
price = models.integerfield(u'
合同金額')
detail = models.textfield(u'
合同詳細
', blank=true, null=true)
start_date = models.datefield(blank=true)
end_date = models.datefield(blank=true)
license_num = models.integerfield(u'
license數量
', blank=true)
create_date = models.datefield(auto_now_add=true)
update_date = models.datefield(auto_now=true)
class
meta:
verbose_name = '合同'
verbose_name_plural = "合同"
ordering = ["
create_date"]
def__str__
(self):
return self.name
每個模型都可以有自己的元資料類,每個元資料類也只對自己所在模型起作用。
db_table指定在資料庫中,當前模型生成的資料表的表名。
db_tablespace
自定義資料庫表空間的名字。
default_related_name
預設情況下,從乙個模型反向關聯設定有關係欄位的源模型,我們使用
_set,也就是源模型的名字+下劃線+set。
這個元資料選項可以讓你自定義反向關係名,同時也影響反向查詢關係名!
from django.db import
models
class
foo(models.model):
pass
class
bar(models.model):
foo =models.foreignkey(foo)
class
meta:
default_related_name = '
bars'#
關鍵在這裡
ordering
用於指定該模型生成的所有物件的排序方式,接收乙個欄位名組成的元組或列表。預設按公升序排列,如果在欄位名前加上字元「-」則表示按降序排列,如果使用字元問號「?」表示隨機排列。
ordering = ['
pub_date
'] #
表示按'pub_date'字段進行公升序排列
ordering = ['
-pub_date
'] #
表示按'pub_date'字段進行降序排列
ordering = ['
-pub_date
', '
author
'] #
表示先按'pub_date'字段進行降序排列,再按`author`字段進行公升序排列。
unique_together
就是聯合唯一
verbose_name
用於設定模型物件的直觀、人類可讀的名稱。可以用中文。例如:
verbose_name = "
story
"verbose_name = "披薩"
verbose_name_plural
ES Mapping,2 Meta元資料
put idx pro name mytimestamp createtime meta 說明 all 自動組合所有的字段值,以空格分割,可以指定分器詞索引,但是整個值不被儲存,所以此欄位僅僅能被搜尋,不能獲取到具體的值 field names 索引了每個欄位的名字,可以包含null值,可以通過ex...
meta(元)關於 A 的 A
總結 meta是關於a的a,比如meta data是關於資料的資料,meta info是關於資訊的資訊,是有歸納總結的意思 乙個基本的元資料報括元資料專案和元資料內容,可以理解成map的key和value。要理解這個問題,首先要知道 元 是什麼。在了解了元 meta 的含義之後,我們來看元資料。元資...
定義頁面元資訊標記meta
名稱 content 值 設定網頁關鍵字 keywords content 設定網頁描述 description content author content 設定字符集 content type content text html charset utf 8 http equiv的屬性值為 con...