Skip to main content
 首页 » 编程设计

python之在 Django 过滤器 orm 中获取当前对象

2024年12月31日24jirigala

这可能是一个基本问题,但请耐心等待。如何在 ORM 查询中获取当前对象。

 x = 'abc' 
 sample = Sample.objects.filter( x__in = sample_obj.x_list ) 

sample_obj是指Sample的所有对象。这里的 Sample 是一个具有 x_list 的模型:

class Sample(models.Model): 
    x_list = ListTextField( 
        base_field=models.CharField(max_length=20), 
        size=10, max_length=(10 * 11)) 

所以基本上我想过滤,如果模型中的列表字段有一个特定的值。
编辑:我会进一步澄清我的问题:假设有 3 个 Sample 对象,我想检查 x 是否在任何 Sample 对象的 x_list。并将这些对象保存在变量 sample 中。设 x_list 为字符串列表。

请您参考如下方法:

你应该使用 __contains查找而不是 __in:

samples = Sample.objects.filter(x_list__contains=x)