Django 1.0中国語ドキュメント---メタオプション

2302 ワード

モデルメタオプション
 
ここではclass metaに与えることができるmetadata optionsについて説明します.
 
使用可能なメタオプション
 
abstract

Options.
abstract
Trueの場合、モデルは抽象クラスとして扱われます.
db_table

Options.db_table
データベース・テーブル名を指定します.
db_table = 'music_album'
 
テーブル名
時間を節約するために、djangoは自動的にモデル名とモデルが存在するアプリケーション名を取得してテーブル名を命名します.
たとえば、book storeというアプリケーション(manage.py startapp book store作成)があり、Bookというモデルがある場合、デフォルトで生成されるテーブル名はbook store_となります.book
db_tablespace
Options.db_tablespace 
モデルの表領域名は、バックエンドインタフェースがサポートされていない場合、このパラメータは無視されます.
 
get_latest_by
Options.get_latest_byモデルの日付または日付時間フィールドの名前.これはあなたのmodel Manager'sにデフォルトのlatestメソッドを提供します.
たとえば
get_latest_by = "order_date"

 
order_with_respect_to
Options.order_with_respect_to所定のフィールドフラグを並べ替え可能とし、これは基本的に関係オブジェクト上で親による並べ替えに用いる.たとえば、1つの答えが1つの質問に関連付けられ、1つの質問に複数の答えがあり、答えをソートすると、次のことができます.
class Answer(models.Model):
    question = models.ForeignKey(Question)
    # ...

    class Meta:
        order_with_respect_to = 'question'

 ordering
Options.orderingのデフォルトの配列は、リストを取得するときに使用されます.
ordering = ['-order_date']

 
"-"かなりDESC"?ランダムソート
複数列ソートordering=['-pub_date','author']
permissions
Options.permissions権限設定
permissions = (("can_deliver_pizzas", "Can deliver pizzas"),)

 
unique_together
Options.unique_togetherマルチカラム一意制約
unique_together = (("driver", "restaurant"),)

 verbose_name
Options.verbose_nameモデルのラベル名:
verbose_name = "pizza"

指定されていない場合は、デフォルトでモデルの名前が使用されます.
 
verbose_name_plural
Options.verbose_name_pluralラベル名の複素数
verbose_name_plural = "stories"

 
指定されていない場合、デフォルトはverbose_です.name + "s".