Python 在django筛选器orm中获取当前对象
这可能是一个基本的问题,但请容忍我。如何在ORM查询中获取当前对象Python 在django筛选器orm中获取当前对象,python,django,django-models,filter,django-orm,Python,Django,Django Models,Filter,Django Orm,这可能是一个基本的问题,但请容忍我。如何在ORM查询中获取当前对象 x = 'abc' sample = Sample.objects.filter( x__in = sample_obj.x_list ) sample\u obj指的是sample的所有对象。此处示例为具有x_列表的模型: class Sample(models.Model): x_list = ListTextField( base_field=models.CharField(max_leng
x = 'abc'
sample = Sample.objects.filter( x__in = sample_obj.x_list )
sample\u obj
指的是sample
的所有对象。此处示例为具有x_列表的模型:
class Sample(models.Model):
x_list = ListTextField(
base_field=models.CharField(max_length=20),
size=10, max_length=(10 * 11))
所以基本上我想过滤,如果模型中的列表字段有一个特定的值。编辑:我想进一步澄清我的问题:假设有3个
样本
对象,我想检查样本对象的x\u列表中是否有x
。并将这些对象保存在变量sample
中。让x\u list
成为字符串列表。您应该使用查找,而不是中的\u:
samples=Sample.objects.filter(x\u list\u contains=x)您对当前对象是什么意思?如果有多个匹配的对象怎么办?或者根本没有?如果x
也是一个列表,并且我想要精确匹配怎么办。i、 e.如果x
中的所有项目都与x\u列表中的项目匹配
?我想您可以使用=
操作符。像Sample.objects.filter(x_list=x)
我的意思是x_list
可以有其他项,但是x
中的所有项都应该在x_list
中。这似乎没有内置的查询,但你可以这样查询:Sample.objects.filter(**{“x_list\u包含”:x中的值)