pythondjango数据库查询方法总结

pythondjango数据库查询方法总结

ID:37013306

大小:45.00 KB

页数:7页

时间:2019-05-12

pythondjango数据库查询方法总结_第1页
pythondjango数据库查询方法总结_第2页
pythondjango数据库查询方法总结_第3页
pythondjango数据库查询方法总结_第4页
pythondjango数据库查询方法总结_第5页
资源描述:

《pythondjango数据库查询方法总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、pythondjango数据库查询方法总结__exact精确等于like'aaa'__iexact精确等于忽略大小写ilike'aaa'__contains包含like'%aaa%'__icontains包含忽略大小写ilike'%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。__gt大于__gte大于等于__lt小于__lte小于等于__in存在于一个list范围内__startswith以...开头__istartswith以...开头忽略大小写__e

2、ndswith以...结尾__iendswith以...结尾,忽略大小写__range在...范围内__year日期字段的年份__month日期字段的月份__day日期字段的日__isnull=True/False__isnull=True与__exact=None的区别classBlog(models.Model):name=models.CharField(max_length=100)tagline=models.TextField()def__unicode__(self):returnse

3、lf.nameclassAuthor(models.Model):name=models.CharField(max_length=50)email=models.EmailField()def__unicode__(self):returnself.nameclassEntry(models.Model):blog=models.ForeignKey(Blog)headline=models.CharField(max_length=255)body_text=models.TextField()

4、pub_date=models.DateTimeField()authors=models.ManyToManyField(Author)def__unicode__(self):returnself.headline这是model,有blog,author,以及entry;其中entry分别与blog与author表关联,entry与blog表是通过外键(models.ForeignKey())相连,属于一对多的关系,即一个entry对应多个blog,entry与author是多对多的关系,通过m

5、odles.ManyToManyField()实现。一、插入数据库,用save()方法实现,如下:>>>frommysite.blog.modelsimportBlog>>>b=Blog(name='BeatlesBlog',tagline='AllthelatestBeatlesnews.')>>>b.save()二、更新数据库,也用save()方法实现,如下:>>b5.name='Newname'>>b5.save()保存外键和多对多关系的字段,如下例子:更新外键字段和普通的字段一样,只要指定一

6、个对象的正确类型。>>>cheese_blog=Blog.objects.get(name="CheddarTalk")>>>entry.blog=cheese_blog>>>entry.save()更新多对多字段时又一点不太一样,使用add()方法添加相关联的字段的值。>>joe=Author.objects.create(name="Joe")>>entry.authors.add(joe)三、检索对象>>>Blog.objects

7、robjectat...>>>>b=Blog(name='Foo',tagline='Bar')>>>b.objectsTraceback:...AttributeError:"Managerisn'taccessibleviaBloginstances."1、检索所有的对象>>>all_entries=Entry.objects.all()使用all()方法返回数据库中的所有对象。2、检索特定的对象使用以下两个方法:fileter(**kwargs)返回一个与参数匹配的QuerySet,相当于等于

8、(=).exclude(**kwargs)返回一个与参数不匹配的QuerySet,相当于不等于(!=)。Entry.objects.filter(pub_date__year=2006)不使用Entry.objects.all().filter(pub_date__year=2006),虽然也能运行,all()最好再获取所有的对象时使用。上面的例子等同于的sql语句:slect*fromentrywherepub_date_year='2006'链接过滤器:>>>En

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。