Имея следующую модель:
class Project(models.Model):
...
name = models.CharField(max_lenght=70)
short_description = models.CharField(max_length=135)
description = models.CharField(max_lenght=25000)
...
Я хочу использовать только один вход для просмотра по name
, short_description
и description
.
Так, например, еслиУ меня есть следующие данные:
объект1:
name = "Amazing airplanes"
short_description = "This project wants to be ..."
description = "... ... ..."
объект2:
name = "Testing potatoes as batteries"
short_description = "... ... ... "
description = "... this project ..."
объект3:
name = "project creator"
short_description = "... ... ..."
description = "... ... ..."
И я фильтрую толькоОдин вход фильтра project
, я должен получить три объекта в результате.(Также, если один объект имеет одно и то же слово в нескольких атрибутах, он должен вернуть мне только один раз этот объект)
Теперь у меня есть следующее:
class ProjectListFilter(django_filters.FilterSet):
name = django_filters.CharFilter(lookup_expr='icontains')
short_description = django_filters.CharFilter(lookup_expr='icontains')
description = django_filters.CharFilter(lookup_expr='icontains')
class Meta:
model = Project
fields = ['name', 'short_description', 'description']
queryset = Project.objects.all()
Но это генерирует 3входы, и это то, что я пытаюсь уклониться.