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

标签 python django django-models filter django-orm

这可能是一个基本问题,但请耐心等待。如何在 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)

关于python - 在 Django 过滤器 orm 中获取当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50573565/

相关文章:

python - 在自身上选择_相关()以获取面包屑

python - 我们如何在 Python openpyxl 包中使用 iter_rows()?

python - 如果大小增加,为什么 python 列表的位置没有改变?

python - 合并子图错误 - 'AxesSubplot' 对象没有属性 'get_gridspec'

python - 重写model.Manager方法后Django无法删除单个对象

Django 按字典过滤模型

c++ - 为什么#include <Python.h> 不起作用?

python - django 返回 NoReverseMatch 但它实际上得到了值

javascript - 如何自动将目标 ="_blank"添加到外部链接?

django - 通过 Django 中的同一中间模型,两个 ManyToMany 关系与同一模型