我试图做一个Django过滤器来过滤基于使用外键连接的多个模型的值。我的模型如下:
model test1(models.Model):
name=models.CharField()
..........some more fields
models test2(models.Model):
name = models.CharField()
code = models.CharField()
models test3(models.Model):
name = models.CharField()
code = models.CharField()
model test4(models.Model):
first = models.ForeignKey(test1, on_delete=models.CASCADE)
second = models.ForeignKey(test2, on_delete=models.CASCADE, blank=True, null=True)
third = models.ForeignKey(test3, on_delete=models.CASCADE, blank=True, null=True)
我想做一个从test1到filter2和test3值的过滤器。同样,模型test4中的第二个字段或第三个字段中的一个,也只有一个为空。
目前,我正在尝试使用django_filters,但无法查找这些字段。我该如何接近
您可以使用两个连续的下划线(__
)过滤相关模型:
from django_filters import CharFilter, FilterSet
class ProductFilter(FilterSet):
first_name = CharFilter(field_name='first__name')
second_code = CharFilter(field_name='second__code')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句