使用django-filter时反转外键关系

时间:2015-05-09 10:36:30

标签: python django django-filter

我正在使用django-filter应用来过滤我的“项目”模型。这是我的模特:

class Project(models.Model):
    name = models.CharField(max_length=100)

class ProjectAllocation(models.Model):
    project = models.ForeignKey(Project)
    location = models.ForeignKey(Location)

class Location(models.Model):
    name = models.CharField(max_length=50)

这是我的过滤器:

class ProjectFilter(django_filters.FilterSet):
    class Meta:
        model = Project
        fields = {'name': ['icontains'],
        }

我想在项目过滤器中包含“位置”字段。在阅读django-filter的docs时,他们唯一的例子是直接的外键关系。

有可能实现我想要的吗?如果可能的话,请指导我。

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

无法令人惊讶地找到这个问题的答案,所以这里是:

NSDictionary *dict = @{
                       @"message": @{
                               @"movies": @"heros"
                               }
                       };

NSLog(@"%@", [[dict[@"message"] allKeys] firstObject]);

和过滤器:

fields = {'name': ['icontains'], 'projectallocation_set': ['icontains'] }

但我最好以相同的方式在ProjectAllocation模型中对这2个ForegnKey字段使用related_name。