2,617
次編輯
Tankianting(討論 | 貢獻) |
Tankianting(討論 | 貢獻) |
||
行 53: | 行 53: | ||
get_latest_by = ['founded_date'] # 取最後一個的取出依據 | get_latest_by = ['founded_date'] # 取最後一個的取出依據 | ||
verbose_name_plural = "ponies" # 複數呈現法 | verbose_name_plural = "ponies" # 複數呈現法 | ||
</pre> | |||
* 假設在表單呈現時,DisplayModel 通常被轉換為 display model。 | * 假設在表單呈現時,DisplayModel 通常被轉換為 display model。 | ||
* Django 的處理方式: | * Django 的處理方式: | ||
行 63: | 行 65: | ||
** migrations/0001_initial.py 等等是 migration 檔 | ** migrations/0001_initial.py 等等是 migration 檔 | ||
*** {{code|./manage.py sqlmigrate blog 0001}} # 產生對應的 sql 檔 | *** {{code|./manage.py sqlmigrate blog 0001}} # 產生對應的 sql 檔 | ||
* {{code|./manage.py migrate}} | * {{code|./manage.py migrate}} # migrate | ||
: ORM 操作 | |||
* {{code|./manage.py shell}} #進入 shell | |||
* {{code|from myblog.models import Tag, ...}} # 匯入 class(表格) | |||
* {{code|<nowiki>example = Tag('name='Education', slug='education')</nowiki>}} # 建立新列(資料) | |||
* {{code|example.save()}} # 儲存列 | |||
* {{code|example.delete()}} # 刪除列 | |||
:: manager:通常為 Tag.objects這樣的形式,型別為{{code|django.db.models.manager.Manager}},綁在Tag 等「class 名稱」中。 | |||
* {{code|<nowiki>Tag.objects.create(name='xxx', slug='yyy')</nowiki>}} # 創建新物件 | |||
* {{code|<nowiki>Tag.objects.bulk_create([Tag(name='xxx', slug='yyy'), Tag(name='zzz', slug='aaa')])</nowiki>}} #創建多個物件 | |||
* {{code|Tag.objects.all()}}#顯示列表 | |||
*{{code|Tag.objects.count()}}#顯示總數 | |||
*{{code|<nowiki>Tag.objects.get(slug='xxx')</nowiki>}}#得到特定條件的資料 | |||
*{{code|<nowiki>Tag.objects.get(slug__iexact='xxx')</nowiki>}}#得到特定條件的資料,大小寫不區分 | |||
*{{code|<nowiki>Tag.objects.get(slug__istartswith='xxx')</nowiki>}}#以xxx開頭的資料 | |||
*{{code|<nowiki>Tag.objects.get(slug__contains='xxx')</nowiki>}}#包含xxx的資料 | |||
*{{code|Tag.objects.get}}最多只能得到1個資料,多個資料要用{{code|<nowiki>Tag.objects.filter(slug__contains='yyy')</nowiki>}} | |||
*{{code|<nowiki>Tag.objects.filter(slug__contains='yyy').order_by('-name')</nowiki>}} #排序 | |||
*{{code|<nowiki>Tag.objects.values_list()</nowiki>}} #產出[(3, 'xxx', 'yyy'),...]的各物件列表 | |||
*{{code|<nowiki>Tag.objects.values_list('name', 'slug')</nowiki>}} #產出[('xxx', 'yyy'),...]的各物件列表,指定屬性 | |||
*{{code|<nowiki>Tag.objects.values_list('name', flat=True)</nowiki>}} #產出字串的queryset | |||
*記得保存新生的row | |||
*{{code|djt.tags.add(data)}} #加入資料 | |||
[[category:資訊]] | [[category:資訊]] |