from rest_framework_filters import FilterSet, RelatedFilter, AllLookupsFilter from .models import Project, Realty, BuildingClassfication, ConstructionType class BuildingClassficationFilterSet(FilterSet): id = AllLookupsFilter() name = AllLookupsFilter() class Meta: model = BuildingClassfication class ConstructionTypeFilterSet(FilterSet): id = AllLookupsFilter() name = AllLookupsFilter() class Meta: model = ConstructionType class ProjectFilterSet(FilterSet): budget = AllLookupsFilter() budget_by_agreement = AllLookupsFilter() created = AllLookupsFilter() cro = AllLookupsFilter() currency = AllLookupsFilter() deal_type = AllLookupsFilter() name = AllLookupsFilter() price_and_term_required = AllLookupsFilter() state = AllLookupsFilter() term = AllLookupsFilter() term_type = AllLookupsFilter() text = AllLookupsFilter() work_type = AllLookupsFilter() customer = RelatedFilter('users.filters.UserFilterSet') realty = RelatedFilter('projects.filters.RealtyFilterSet') specialization = RelatedFilter('specializations.filters.SpecializationFilterSet') class Meta: model = Project class RealtyFilterSet(FilterSet): id = AllLookupsFilter() name = AllLookupsFilter() building_classification = RelatedFilter('projects.filters.BuildingClassficationFilterSet') construction_type = RelatedFilter('projects.filters.ConstructionTypeFilterSet') location = RelatedFilter('common.filters.LocationFilterSet') user = RelatedFilter('users.filters.UserFilterSet') class Meta: model = Realty