posts - 431,  comments - 344,  trackbacks - 0
          公告
           Don't Repeat Yourself
          座右銘:you can lose your money, you can spent all of it, and if you work hard you get it all back. But if you waste your time, you're never gonna get it back.
          公告本博客在此聲明部分文章為轉摘,只做資料收集使用。


          微信: szhourui
          QQ:109450684
          Email
          lsi.zhourui@gmail.com
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          留言簿(15)

          隨筆分類(1019)

          文章分類(3)

          文章檔案(21)

          收藏夾

          Link

          好友博客

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 861068
          • 排名 - 44

          最新評論

          閱讀排行榜

          通過一個內嵌類 "class Meta" 給你的 model 定義元數據, 類似下面這樣: 

          class Foo(models.Model): 
              bar = models.CharField(maxlength=30) 

              class Meta: 
                  # ... 

          Model 元數據就是 "不是一個字段的任何數據" -- 比如排序選項, admin 選項等等. 

          下面是所有可能用到的 Meta 選項. 沒有一個選項是必需的. 是否添加 class Meta 到你的 model 完全是可選的. 

          db_table 
          本模塊在數據庫中對應的表的名字: 

          db_table = "pizza_orders" 

          若不提供該參數, Django 會使用 app_label + '_' + module_name 作為表的名字. 

          若你的表的名字是一個 SQL 保留字, 或包含 Python 變量名不允許的字符--特別是連字符 --沒關系. Django 會自動在幕后替你將列名字和表名字用引號引起來. 

          get_latest_by 
          一個 DateField 或 DateTimeField 字段的名字. 若提供該選項, 該模塊將擁有一個 get_latest() 函數以得到 "最新的" 對象(依據那個字段): 

          get_latest_by = "order_date" 

          order_with_respect_to 
          標記給定字段的對象是 "orderable" 的.它用于關聯對象以允許他們以父對象期望的方式排序.舉例來說, 如果一個 PizzaToppping 關聯到一個 Pizza 對象, 這樣做: 

          order_with_respect_to = 'pizza' 

          ...就允許 toppings 依照相關的 pizza 來排序. 

          order_with_respect_to 
          將該對象標記為可按給定字段排序. This is almost always used with related objects to allow them to be ordered with respect to a parent object. 舉例來說, 如果一個 PizzaToppping 關聯到一個 Pizza 對象, 你可以使用: 

          order_with_respect_to = 'pizza' 

          這就允許 toppings 被排序to be ordered 關于相關的 pizza 對象 

          ordering 
          默認排序字段及排序方式, 用于得到一個對象列表的任何場合: 

          ordering = ['-order_date'] 

          這是一個 tuple 或一個字符串列表. 每個字符串是一個字段名帶及一個可選的前綴 "-" , 這個前綴表示按降序排序(遞減). 若沒有這個前綴,則表示按升序排序.字符串 "?" 表示隨機排序. 

          舉個例子, 要對 pub_date 字段以升序排列, 這樣做: 

          ordering = ['pub_date'] 

          要降序排列, 這樣: 

          ordering = ['-pub_date'] 

          要對 pub_date 降序,然后對 author 升序, 這樣: 

          ordering = ['-pub_date', 'author'] 

           注意一點,不論你使用了多少個字段排序, admin 只使用第一個字段. 

          permissions 
          要創建一個對象所需要的額外的權限. 如果一個對象有 admin 設置, 則每個對象的添加,刪除和改變權限會人(依據該選項)自動創建.下面這個例子指定了一個附加權限: can_deliver_pizzas: 

          permissions = (("can_deliver_pizzas", "Can deliver pizzas"),) 

          這是一個2-元素 tuple 的tuple或列表, 其中兩2-元素 tuple 的格式為:(permission_code, human_readable_permission_name). . 

          unique_together 
          Sets of field names that, taken together, must be unique: 

          unique_together = (("driver", "restaurant"),) 

          這是一個字段列表的列表,這些字段的綜合值必須是唯一的. 這會在 Django admin 層和數據庫層同時做出限制(也就是相關的 UNIQUE 語句會被包括在 CREATE TABLE 語句中). 

          verbose_name 
          是該對象的一個可讀性更好的唯一名字: 

          verbose_name = "pizza" 

          若未提供該選項, Django 則會用一個類名字的 munged 版本來代替: CamelCase becomes camel case. 

          verbose_name_plural 
          對象名字的復數: 

          verbose_name_plural = "stories" 

          若未提供該選項, Django 會使用 verbose_name + "s". 

          THE REST OF THIS HAS NOT YET BEEN EDITED 
          Table names 
          Automatic primary key fields 

          轉自:http://www.woodpecker.org.cn/obp/django/django-faq/model-api.html

          posted on 2008-12-03 21:46 周銳 閱讀(1109) 評論(0)  編輯  收藏 所屬分類: Python
          主站蜘蛛池模板: 元阳县| 秦皇岛市| 新蔡县| 玉林市| 福安市| 巴马| 利辛县| 黄浦区| 曲阜市| 三穗县| 临清市| 嘉义县| SHOW| 京山县| 兰坪| 汉阴县| 山西省| 奉化市| 浦县| 佛山市| 星子县| 大姚县| 清河县| 博爱县| 泗阳县| 额尔古纳市| 镇宁| 湟中县| 开远市| 永年县| 丘北县| 三门峡市| 鄄城县| 吴江市| 台湾省| 加查县| 驻马店市| 九龙坡区| 屏山县| 唐海县| 百色市|