gpt4 book ai didi

使用 hasattr(或类似的东西)的 Django 过滤器查询

转载 作者:行者123 更新时间:2023-12-04 17:07:07 24 4
gpt4 key购买 nike

我想对模型执行筛选并返回具有特定属性的所有对象。

model.objects.filter(hasattr(model, 'attrname'))

这显然行不通,但不确定如何有效地实现类似的东西。

谢谢

编辑

我会使用它的一个例子是当一个模型是从另一个模型继承的时候

class model1(models.Model):
...

class model2(model1):
...

如果我执行 model1.objects.all() model2 中的每个返回对象都将具有一个额外的属性

最佳答案

如果模型是相关的,你可以在过滤器中使用 isnull。

model1.objects.filter('related_name__field_name__isnull=False)

model2 中外键的相关名称所在

例如: 类(class)所有者(模型。模型): user = models.CharField(max_length=10)

class Car(models.Model):
car_type = models.CharField(max_length=10)
owner = models.ForeignKey(Owner, related_name='cars',
on_delete=models.CASCADE)

对于有车的车主:owners = Owner.objects.filter(cars__id__isnull=False)

关于使用 hasattr(或类似的东西)的 Django 过滤器查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857048/

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