What is the connection between autocomplete_fields and JS in Media class?

48 Views Asked by At

I use Django.
My admin.py:

class CardInlineAdmin(admin.StackedInline):
    model = Card
    autocomplete_fields = ['project', 'course', 'vacancy', 'news', ]

@admin.register(Section)
class SectionAdmin(admin.ModelAdmin):
    list_display = ('name', 'id', 'priority', 'is_active',)
    inlines = (CardInlineAdmin,)
    search_fields = ['project', 'course', 'vacancy', 'news']

    class Media:
        js = (
            '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
            'js/card_in_section.js',
        )

If I open SectionAdmin on admin page the file card_in_section.js will not work.
If I remove autocomplete_fields from CardInlineAdmin the file card_in_section.js will work.
What is the reason of such behavior?

1

There are 1 best solutions below

0
On BEST ANSWER

I solved my problem)
I checked Network on admin page and understood that for some reason my file card_in_section.js loaded before autocomplete.js.
So, I tried to add autocomplete.js to class Media before card_in_section.js and it solved my problem.

class Media:
        js = (
            '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
            'admin/js/autocomplete.js',
            'js/card_in_section.js',
        )