用户可以在FilterSet中的模型中使用.filter()模型吗?

时间:2019-04-01 13:27:38

标签: django-filter

我正在尝试通过属性过滤listView,该属性是特定于用户的,用户也可以拥有更多。现在,我的过滤器列出了每个用户的所有属性。

我的模特:

class Locations(models.Model):
    location =  models.CharField(max_length=50)
    owner = models.ForeignKey(User,related_name='owner',on_delete=models.CASCADE)


class MyModel(models.Model):
    user = models.ForeignKey(User,related_name='fk',on_delete=models.CASCADE)
    locations = models.ForeignKey(Locations, related_name='locat', on_delete=models.CASCADE)

我的过滤器:

class locationFilter(django_filters.FilterSet):


class Meta:
    model = MyModel
    fields = ['locations',]

我的观点:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['filter'] = medenceFilter(self.request.GET, queryset=self.get_queryset())
    return context

到目前为止,我尝试过的是在我看来使用.filter(locations__owner=self.request.user,)), 并在filters.py中尝试过,但没有一个起作用。

有什么方法可以过滤模型,或者可以在模板中以某种方式过滤吗?

谢谢

0 个答案:

没有答案