django model

Posted XiaO天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django model相关的知识,希望对你有一定的参考价值。

  •  枚举类型:

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的主要内容,如果未能解决你的问题,请参考以下文章

Django REST framework 基本组件

[TimLinux] Django 信号

如何在 Django Summernote 中显示编程片段的代码块?

Django的models实现分析

Django rest_framewok框架的基本组件

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段