Code前端首页关于Code前端联系我们

如何在 Django ORM 中查询“OR”?如何使用“like”

terry 2年前 (2023-09-24) 阅读数 76 #后端开发

Like在查询数据库时经常使用:like“select * from table with title like '%aa%'”

在Django ORM中如何使用like?

__有吗? Django ORM “OR”和“like”一起使用:

obj=App.objects.filter(Q(Title__icontains=key) | Q(KFS__icontains=key))

Django ORM “OR”和“like”一起使用。当 KFS 为外键时:

model.py

class KaiFaShang(CreatCommon):
    Title = models.CharField(max_length=200, verbose_name='名称', blank=True)
    def __str__(self):
        return self.Title
    class Meta:
        db_table = "sg_kaifashang"
        verbose_name = '开发商'
        verbose_name_plural = '开发商列表'
class LouPan(CreatCommon):

    KFS = models.ForeignKey(KaiFaShang, models.SET_NULL,blank=True,null=True,verbose_name='开发商',db_column='KFS',
                            help_text='选择开发商的企业名称,如果没有这个企业可以添加',)
    

    def __str__(self):
        return self.Title

    class Meta:
        db_table = "sg_loupan"
        verbose_name = '楼盘'
        verbose_name_plural = '楼盘列表'

views.py

lp_obj=LouPan.objects.filter(Q(Title__icontains=key) | Q(KFS__Title__icontains=key))

这里 KFS__Title 包含了外键 KFS Title,__icontains 就像

Django ORM 时“OR”和“like”一样。 ,KFS是外键,有多个条件

models.py 同上

views.py

lp_obj=LouPan.objects.filter(Q(Title__icontains=key) | Q(KFS__Title__icontains=key),Status=99).order_by('-UpdateTime')[:10]

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门