gpt4 book ai didi

python - 基于模型的__str__的django过滤器查询集

转载 作者:行者123 更新时间:2023-11-28 22:35:07 25 4
gpt4 key购买 nike

我有以下模型:

class Subspecies(models.Model):
species = models.ForeignKey(Species)
subspecies = models.CharField(max_length=100)

def __str__(self):
return self.species.species_english+" "+self.species.species+" "+self.subspecies

def __unicode__(self):
return self.species.species_english+" "+self.species.species+" "+self.subspecies

请注意,__str____unicode__ 方法中使用了 ForeignKey 字段 species。我做了这个过滤器查询:

l = list(Subspecies.objects.filter(subspecies__contains=request.GET.get('term')).order_by('subspecies')[:10])

这几乎就是我想要的,只是不完全是。我真正想要的是一个过滤器,它检查对象的 __str__ 表示是否包含一些字符组,而不是仅仅检查 subspecies 字段。而不是 subspecies__contains=... 它会像 __str____contains=... 但当然那是行不通的。

这可能吗?如果可以,我将如何进行此查询?

谢谢!

最佳答案

过滤器生成要在数据库中执行的查询。

__str__ 在 Python 解释器中运行。你不能从数据库中调用它。所以简短的回答是“不,你不能”。您必须手动过滤它,例如使用 filter 内置函数。

关于python - 基于模型的__str__的django过滤器查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38460768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com