原文: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
謝謝