1. 程式人生 > >django model

django model

isn 指定 枚舉類 group rbo ear pin 字典 sql

  • 枚舉類型:

model層

projectType = (
(0, u‘瀑布項目‘),
(1, u‘敏捷項目‘),
)
type=models.IntegerField(choices=projectType,verbose_name=‘項目類型‘, blank=True,null=True)



views層插入
p1.type=1
p1.save()

template層調用
  
直接顯示int
{{ project.type }}

顯示要顯示的內容
{{ project.get_type_display }}


filter當天之內的時間 from django.utils.timezone import now, timedelta start = now().date() end = start + timedelta(days=1) time.objects.filter(createtime__range=(start, end)) django 用戶和組的互查
一、查詢user表中全部的用戶 User.objects.filter().all() #獲取一個用戶對象 [each.first_name for each in User.objects.filter().all()] #通過列表解析取出需要的字段,first_name 可以換成其他user表中的字段 二、查詢登錄用戶 request.user.username #查詢登錄用戶名 三、登錄用戶查詢該用戶所在組 request.user.groups.all() 四、查詢全部的組 Group.objects.all() 五、查詢組的其他信息 [each.name for each in Group.objects.all()] # 查詢組的信息 name 對應表中的字段 六、查詢指定組全部的用戶 # 查詢指定組中的用戶,在filter中可以 Group.objects.get(name="XXX").user_set.filter().all() # 通過列表解析可以遍歷出該用戶表中的字段 [each.username for each in Group.objects.get(name="前端組").user_set.filter().all()] 七、根據用戶查詢指定的組 User.objects.get(username="user").groups.all() #返回的是對象 User.objects.get(username="user").groups.values().all() #返回的是字典 註釋 print User.objects.filter().all() print [each.first_name for each in User.objects.filter().all()] print request.user.groups.all() print [each.name for each in Group.objects.all()] print Group.objects.get(name="前端組").user_set.filter().all() print [each.username for each in Group.objects.get(name="前端組").user_set.filter().all()] print User.objects.get(username="zhangchao").groups.all() print User.objects.get(username="zhangchao").groups.values().all() 條件選取querySet的時候,filter表示=,exclude表示!=。 filter的and和or用法 or or tasklist.filter(Q(state=‘setup‘)|Q(state=‘developing‘)|Q(state=‘testing‘)|Q(state=‘ready‘)|Q(state=‘released‘)) and (Q(state=‘finish‘),Q(releasedDate__lte=start)) querySet.distinct() 去重復 __exact 精確等於 like ‘aaa‘ __iexact 精確等於 忽略大小寫 ilike ‘aaa‘ __contains 包含 like ‘%aaa%‘ __icontains 包含 忽略大小寫 ilike ‘%aaa%‘,但是對於sqlite來說,contains的作用效果等同於icontains。 __gt 大於 __gte 大於等於 __lt 小於 __lte 小於等於 __in 存在於一個list範圍內 __startswith 以...開頭 __istartswith 以...開頭 忽略大小寫 __endswith 以...結尾 __iendswith 以...結尾,忽略大小寫 __range 在...範圍內 __year 日期字段的年份 __month 日期字段的月份 __day 日期字段的日 __isnull=True/False

django model