form to override autocomplete organization field for Person class in admin
This commit is contained in:
parent
d436650d2c
commit
e8f8ee8ad3
1 changed files with 18 additions and 3 deletions
21
app/admin.py
21
app/admin.py
|
@ -7,6 +7,21 @@ from django.forms import TextInput
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
import csv
|
import csv
|
||||||
|
from django import forms
|
||||||
|
from django.contrib.admin.widgets import AutocompleteSelect
|
||||||
|
|
||||||
|
class autocomplete_fields_form(forms.ModelForm):
|
||||||
|
"""This form overrides autocomplete
|
||||||
|
organization field for Person class
|
||||||
|
"""
|
||||||
|
class Meta:
|
||||||
|
widgets = {
|
||||||
|
'my_field': AutocompleteSelect(
|
||||||
|
Person._meta.get_field('organization').remote_field,
|
||||||
|
admin.site,
|
||||||
|
attrs={'data-dropdown-auto-width': 'true'}
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
def download_csv(modeladmin, request, queryset):
|
def download_csv(modeladmin, request, queryset):
|
||||||
name = queryset[0].__class__.__name__
|
name = queryset[0].__class__.__name__
|
||||||
|
@ -85,13 +100,13 @@ class PersonAdmin(admin.ModelAdmin):
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
list_display = ['id', 'full_name', 'organization']
|
list_display = ['id', 'full_name', 'organization']
|
||||||
autocomplete_fields = ['organization']
|
#autocomplete_fields = ['organization']
|
||||||
|
form = autocomplete_fields_form # adjust width of autocomplete_fields organization
|
||||||
|
|
||||||
list_per_page = settings.ADMIN_LIST_PER_PAGE
|
list_per_page = settings.ADMIN_LIST_PER_PAGE
|
||||||
ordering = ['full_name']
|
ordering = ['full_name']
|
||||||
actions = [download_csv]
|
actions = [download_csv]
|
||||||
|
|
||||||
# list_display_links = ['id']
|
|
||||||
|
|
||||||
|
|
||||||
class ResourceKeywordInline(admin.TabularInline):
|
class ResourceKeywordInline(admin.TabularInline):
|
||||||
autocomplete_fields = ['keyword']
|
autocomplete_fields = ['keyword']
|
||||||
|
|
Loading…
Reference in a new issue