моя проблема в том, что когда я добавляю простую функциональность к отдельным полям поиска, она работает нормально, как я и ожидала, например, после добавления функциональности для поля местоположения она работает нормально, как я хотела, но когда я добавляю такую же функциональность для другого поля, она не отображается результаты, хотя 1-е поле показывало результаты, но теперь ни одно из них не показывало ничего. Я не уверен, в чем проблема, я болтаюсь последние 2 дня. помогите пожалуйста
HTML форма поиска
<form action="{% url 'search-page' %}" method="">
<div class="row">
<div class="col-12 col-lg-10">
<div class="row">
<div class="col-12 col-md-6 col-lg-3">
<select name="location" id="" class="form-control">
<option value="">Location</option>
{% for key,value in location_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="types" id="" class="form-control">
<option value="all-types">All Types</option>
{% for key,value in property_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="city" id="" class="form-control">
<option value="01">All City</option>
{% for key,value in city_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="status" id="all" class="form-control">
<option value="01">Status</option>
{% for key,value in status_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="bedroom" id="bedrooms" class="form-control">
<option value="">Bedrooms</option>
{% for key,value in bedroom_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="bathroom" id="bathroom" class="form-control">
<option value="Bathroom">Bathroom</option>
{% for key,value in bathroom_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="price" id="bathroom" class="form-control">
<option value="Bathroom">Price</option>
{% for key,value in price_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<div class="col-12 col-md-6 col-lg-3">
<select name="size" id="bathroom" class="form-control">
<option value="Bathroom">Lot Size</option>
{% for key,value in lot_area_choices.items %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select>
</div>
<!-- <div class="col-12 col-md-6 col-lg-3">
<div class="slider-range mb-15">
<div class="range-price text-white">Price [30000 - 150000]$</div>
<div class="slider-range-price ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all"
data-min="0" data-max="200000" data-unit="$" data-value-min="30000"
data-value-max="150000" data-label-result="Price">
<div class="ui-slider-range ui-widget-header ui-corner-all"></div>
<span class="ui-slider-handle ui-state-default ui-corner-all"
tabindex="0"></span>
<span class="ui-slider-handle ui-state-default ui-corner-all"
tabindex="0"></span>
</div>
</div>
</div> -->
<!-- <div class="col-12 col-md-6 col-lg-3">
<div class="slider-range mb-15">
<div class="range-size text-white">Size [9762 - 72063]sqFt</div>
<div data-min="0" data-max="98623" data-unit="sqFt"
class="slider-range-size ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all"
data-value-min="9762" data-value-max="72063" data-label-result="Size">
<div class="ui-slider-range ui-widget-header ui-corner-all"></div>
<span class="ui-slider-handle ui-state-default ui-corner-all"
tabindex="0"></span>
<span class="ui-slider-handle ui-state-default ui-corner-all"
tabindex="0"></span>
</div>
</div>
</div> -->
</div>
</div>
<div class="col-12 col-lg-2">
<button type="submit" class="btn rehomes-search-btn">Search</button>
</div>
</div>
</form>
views.py
def search(request):
property_ list = Property.objects.order_by('-date_added')
# Search_location
if 'location' in request.GET:
location = request.GET['location']
if location:
property_list = property_list.filter(state__iexact=location)
# Search_property_types
if 'types' in request.GET:
types = request.GET['types']
if types:
property_list = property_list.filter(property_types__iexact=types)
# Search_city
if 'city' in request.GET:
city = request.GET['city']
if city:
property_list = property_list.filter(city__iexact=city)
context = {
'location_choices': choices.location_choices,
'property_choices': choices.property_choices,
'city_choices': choices.city_choices,
'status_choices': choices.status_choices,
'bedroom_choices': choices.bedroom_choices,
'bathroom_choices': choices.bathroom_choices,
'price_choices': choices.price_choices,
'lot_area_choices': choices.lot_area_choices,
'property_data': property_list,
}
return render(request, 'property/search.html', context)
модели .py
class Property(models.Model):
agent = models.ForeignKey(Agent, on_delete=models.DO_NOTHING)
title = models.CharField(max_length=200)
description = models.TextField()
property_types = models.CharField(max_length=50, choices=property_types)
address = models.CharField(max_length=100)
city = models.CharField(max_length=50)
state = models.CharField(max_length=50)
zip_code = models.CharField(max_length=50)
bedroom = models.IntegerField()
bathroom = models.IntegerField()
garage = models.IntegerField()
lot_area = models.IntegerField()
price = models.IntegerField()
status = models.CharField(max_length=50, choices=status)
year_build = models.DateTimeField(auto_now=False)
main_image = models.ImageField(upload_to='property/%Y/%m/')
image_1 = models.ImageField(upload_to='property/%Y/%m/', blank=True)
image_2 = models.ImageField(upload_to='property/%Y/%m/', blank=True)
image_3 = models.ImageField(upload_to='property/%Y/%m/', blank=True)
floor_plans = models.ImageField(upload_to='property/floorplans/%Y/%m/', blank=True)
date_added = models.DateTimeField(auto_now_add=True)
is_published = models.BooleanField(default=True)
def __str__(self):
return self.title