069:

Posted zheng-weimin

tags:

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

ORM查询条件详解-isnull和regex:

isnull:
根据值是否为空进行查找。示例代码如下:

articles = Article.objects.filter(create_time__isnull=True)

以上的代码的意思是获取所有发布日期不为空的文章。将来翻译成 SQL 语句如下:

SELECT `article`.`id`, `article`.`title`, `article`.`content`, `article`.`category_id`, `article`.`create_time` FROM `article` WHERE `article`.`create_time` IS NUL

regex和iregex:

大小写敏感和大小写不敏感的正则表达式。示例代码如下:

articles = Article.objects.filter(title__iregex=r"^fuck")

以上代码的意思是提取所有标题以 hello 字符串开头的文章。将翻译成以下的 SQL 语句:

SELECT `article`.`id`, `article`.`title`, `article`.`content`, `article`.`category_id`, `article`.`create_time` FROM `article` WHERE `article`.`title` REGEXP ^fuck

iregex 是大小写不敏感的。

实例截图如下:

技术分享图片

 

 根据关联的表进行查询:

假如现在有两个 ORM 模型,一个是 Article ,一个是 Category 。代码如下:

class Category(models.Model):
  """文章分类表"""
  name = models.CharField(max_length=100)
class Article(models.Model):   """文章表"""   title = models.CharField(max_length=100,null=True)   category = models.ForeignKey("Category",on_delete=models.CASCADE)

比如想要获取文章标题中包含"hello"的所有的分类。那么可以通过以下代码来实:

categories = Category.object.filter(article__title__contains("hello"))

 



以上是关于069:的主要内容,如果未能解决你的问题,请参考以下文章

TR069网管协议应用在Android系统开发的前言

LeetCode剑指 Offer II 069. 山峰数组的顶部(C++)

tr069开源协议EasyCwmp移植

LeetCode刷题office II 069-简单-山峰数组的顶部

TR069协议

剑指 Offer II 069. 山峰数组的顶部