Jak utworzyć zaawansowany formularz wyszukiwania niestandardowego w administratorze Django i wyświetlić listę zmian dla administratorów Django. Mój zaawansowany formularz wyszukiwania ma kilka pól, w tym:Jak utworzyć zaawansowany formularz wyszukiwania niestandardowego w administratorze Django i wyświetlić listę zmian dla administratorów Django
- regionu
- miasto
- prowincja
admin.py:
class PropertyAdmin(ModelAdmin):
change_list_template = "property/admin/property_change_list.html"
list_per_page = 20
list_display_links = ('property_country_province_city',)
search_fields = ('id',)
list_filter = ('is_sale','is_rent','is_presales','estate_type','water')
list_display_links = ('property_type',)
Models.py
class Property(models.Model):
objects = PublicPropertyManager()
title = models.CharField(_("title"), max_length = 80, blank=True)
country = models.ForeignKey(Country, verbose_name=_("Country"))
province = models.ForeignKey(Province, verbose_name=_("Province"))
city = models.ForeignKey(City, verbose_name=_("City"))
region = models.ForeignKey(Region, verbose_name=_("Region"))
address = models.CharField(
verbose_name=_("address"), max_length = 250, blank=True, null=True
)
Można zastąpić get_queryset metodę filtrowania (https://stackoverflow.com/a/12354293/2474573) i należy zdefiniować metodę changelist_view mowa w Dokumentach (https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#django.contrib.admin.ModelAdmin.changelist_view) –