﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24467	"jQuery error in Django admin site when use ""get_prepopulated_fields"""	Anton Danilchenko	nobody	"I have Django ModelAdmin for Blog model.


{{{
class BlogAdmin(BaseModelAdmin):
    fieldsets = [
        (None, {'fields': ['name', 'description', 'slug']}),
        ('Date information', {'fields': ['date_create', 'date_change']}),
    ]
    # NOTE: this work well 
    # prepopulated_fields = {""slug"": (""name"",)}

    def get_readonly_fields(self, requets, obj=None):
        """"""
        Disable edit slug field for object.
        """"""
        if obj:
            return self.readonly_fields + ('slug',)
        return self.readonly_fields

    def get_prepopulated_fields(self, requets, obj=None):
        """"""
        Prepopulate slug field only for new object.

        In out case we always return value that I mentioned above for ""prepopulated_fields"".
        """"""
        return {""slug"": (""name"",)}

admin.site.register(Blog, BlogAdmin)
}}}

'''What do I do?''' I try to show prepopulate field ONLY on create new object page. When we edit this object - I disable option to edit slug field and show it as read-only.

When I use ""prepopulated_fields"" all work as expected. When I switch to use custom method ""get_prepopulated_fields"" the jQuery error appear in web browser console:

{{{
TypeError: undefined is not a function (evaluating '$(field.id).data('dependency_list', field['dependency_list'])
               .prepopulate(field['dependency_ids'], field.maxLength)')
}}}

As I found - the error appear because it's not defined ""prepopulate"" function:

{{{
>>> django.jQuery(""#id_slug"").prepopulate
undefined
}}}

Who knows how to fix this?"	Bug	closed	contrib.admin	dev	Normal	fixed			Ready for checkin	1	0	0	0	0	0
