Thursday, 24 October 2019

Filter foreign key date django_filters

Currently my filter works so I can filter on name. However I also want to filter on releases (So display game that has release.date between a certain range)

How can I do that?

filters.py

class ReleaseFilter(django_filters.FilterSet):

    date =  django_filters.DateFromToRangeFilter(field_name='date') 

    class Meta:
        model = Release
        fields = ['date']

class GameFilter(django_filters.FilterSet):

    name = django_filters.CharFilter(lookup_expr='icontains')
    releases = ReleaseFilter()

    class Meta:
        model = Game
        fields = ['releases']

models.py

class Game(models.Model):
    name = models.CharField(max_length=255)


class Release(models.Model):
    game = models.ForeignKey(Game, related_name='releases', on_delete=models.CASCADE)
    date = models.DateField()


from Filter foreign key date django_filters

No comments:

Post a Comment