django學習筆記(模型)

原文:http://www.djangobook.com/en/2.0/chapter05.html


python 1.6.5已驗證:

紀要:

   1. 使用 python  manage.py startapp 模塊名 來創建模塊(應用),模塊具有可複用性)

   2. 模型(model)必須要在模塊(app)中

       模型的定義,至少需要定義字段。 通常還需要定義  __unicode__方法,用於提供記錄的說明。

   3. 模型到數據庫的映射:

        python manage.py validate  (檢查模型是否有語法錯誤)

        python  manage.py sqlall 模塊(將模型轉化爲sql語句)

        python manage.py syncdb (將模型同步到數據庫)

  4. 數據庫的配置(setting.py)

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. } }



注意mysql的配置有點特殊,

'HOST': '/var/run/mysql',


5. 模型api(繼承自 django.db.models.Model)

select:  

 1). 模型類.objects.all()

 2). 模型類.objects.filter(字段[__操作] = ’目標字符串'),其中 [__操作]是可選的,操作包括這些值:contains,icontains,startswith,endswith,range

       

create :  模型實例.save()

delete:

 1). 模型實例.delete()

 2).QuerySet.delete() , eg. 模型類.objects.all().delete() / 模型類.objects.filter(過濾條件).delete()


update:

1). 先得到模型實例,然後save(更新所有字段)

2). 基於queryset操作(只更新目標字段)

     模型類.objects.all().update(字段=新值)


排序:

  1) 模型類.objects.order_by(字段) ,默認升序排序,若要降序則用:模型類.objects.order_by(-字段), 即在字段前面加中劃線。

  2) 添加Meta的內部類,並指定ordering屬性(eg. ordering='字段')

排序後的切片(不支持負數,即逆向定位)


轉載請註明來自:http://blog.csdn.net/lion_awake/article/details/37759173

謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章