使用Model
當定義了Model之后,你需要告訴Django去使用這些models,
修改settings.py中的INSTALLED_APPS屬性,增加包含models.py的模塊名稱即可。
比如你的models.py文件的路徑是 mysite.myapp.models.py,那么
INSTALLED_APPS = (字段選項
每一個字段都有一些參數(shù),比如CharField字段有一個max-length的參數(shù),表示字段類型的長度。
Django定義了一些所有字段(類)都有的公共的參數(shù),下面簡單的總結(jié)一下他們的使用:
null :如果是True,Django會在數(shù)據(jù)庫中將此字段的值置為NULL,默認值是False
blank :如果是True,那么這個字段是可以不填的。默認是False
blank和null的區(qū)別:null純粹是與數(shù)據(jù)庫有關(guān)系的。而blank是與頁面必填項驗證有關(guān)的。如果blank=False,那么這個字段就是必填的。
choices
An iterable (e.g., a list or tuple) of 2-tuples to use as choices for this field. If this is given, Django's admin will use a select box instead of the standard text field and will limit choices to the choices given.
一個二維的元組被用作choices,如果這樣定義,Django會select box代替普通的文本框,
并且限定choices的值是元組中的值
id = models.AutoField(primary_key=True)這是一個自增長的主鍵你可以在任何一個字段上設(shè)置primary_key=True,如果Django發(fā)現(xiàn)你定義了這個屬性,他就不會自動添加id字段了
verbose name 就是Person's first name
first_name = models.CharField("Person's first name", max_length=30) verbose name是 first name
first_name = models.CharField(max_length=30)
Relationships Django定一個三種通用的類型,去描述數(shù)據(jù)庫表之間的關(guān)系:many-to-one, many-to-many and one-to-one.
Many-to-one relationships: 使用ForeignKey來定一個Many-to-one的關(guān)聯(lián)關(guān)系。就像使用普通的Field一樣。
ForeignKey的第一個參數(shù)必須定義這個model與哪一個model關(guān)聯(lián)
比如,Car model有一個Manufacturer:一個制造廠(one)可以生產(chǎn)很多汽車(Many),但是一個汽車只能有一個制造廠