免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
django

使用Model

當定義了Model之后,你需要告訴Django去使用這些models,
修改settings.py中的INSTALLED_APPS屬性,增加包含models.py的模塊名稱即可。

比如你的models.py文件的路徑是 mysite.myapp.models.py,那么

INSTALLED_APPS = (        
'mysite.myapp',
  )
如果你在settings.py的INSTALLED_APPS中添加了新的app,需要重新運行manage.py syncdb命令

字段選項
每一個字段都有一些參數(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的值是元組中的值

  1. YEAR_IN_SCHOOL_CHOICES = (   
  2.      ('FR', 'Freshman'),   
  3.      ('SO', 'Sophomore'),   
  4.      ('JR', 'Junior'),   
  5.      ('SR', 'Senior'),   
  6.      ('GR', 'Graduate'),   
  7. )  
YEAR_IN_SCHOOL_CHOICES = ( ('FR', 'Freshman'), ('SO', 'Sophomore'), ('JR', 'Junior'), ('SR', 'Senior'), ('GR', 'Graduate'),)
default:
可以設(shè)置字段的默認值,它可以是一個普通的值,或者是一個可以調(diào)用(callable)的對象,如果是一個callable的對象,那么每次調(diào)用的時候都會創(chuàng)建一個新的對象。
primary_key:
如果是True,那么這個字段就是這個表的主鍵。如果在model的字段上沒有定義primary_key=True,那么Django會自動添加一個IntegerField(id)類型的字段,作為主鍵。所以一般情況下你不需要設(shè)置這個屬性,除非你不想使用默認的設(shè)置。
unique
:如果Ture,設(shè)定字段的值是唯一的。
Automatic primary key fields
默認情況下,Django會自動為每一個model定義如下字段:

id = models.AutoField(primary_key=True)這是一個自增長的主鍵你可以在任何一個字段上設(shè)置primary_key=True,如果Django發(fā)現(xiàn)你定義了這個屬性,他就不會自動添加id字段了
Verbose field names
除了ForeignKey,ManyToManyField,OneToOneField外,每一個field類型的第一個參數(shù),是一個可選參數(shù)-Verbose field names。如果沒有這個參數(shù),Django會自動的按照字段的名稱創(chuàng)建一個。兩個單詞之間會用空格分割。

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),但是一個汽車只能有一個制造廠

  1. class Manufacturer(models.Model):   
  2.     # ...   
  3.   
  4. class Car(models.Model):   
  5.     #一個汽車只能有一個制造廠   
  6.      manufacturer = models.ForeignKey(Manufacturer)   
  7.     # ... 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
字段的參數(shù)
python測試開發(fā)django-31.admin后臺一對多關(guān)系
Django模型層Meta內(nèi)部類詳解
Django(四)后臺管理及Field參數(shù)
Django 開發(fā)內(nèi)容管理系統(tǒng)
Django的開發(fā)流程與數(shù)據(jù)庫設(shè)計
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服