javascript - Django Admin: Pre-populating values from POST or GET? -


in django 1.2.4 site, direct user admin page pre-filled out values, based on current data working with. example:

{% person in people %}     <tr>         <td>{{person}}</td>         <td><a href='admin/foo/bar/add?name={{person}}'>create foo {{person}}</td>     </tr> {% endfor %} 

then, when user clicks on link, name field pre-populated value {{person}}.

does django admin interface support doing this? django admin forms use post, i'm not sure how add post data request template.

or, set variables, use custom javascript in form set values accordingly.

according source code (and quick test), django support use of parameters initial values modelforms in admin. supports many-to-many relations.

did try this? maybe it's missing slash @ end of url.

admin/foo/bar/add?name=foobar 

probably gets redirected ...

admin/foo/bar/add/ 

... dropping querystring. try add slash there , see if works.

admin/foo/bar/add/?name={{ person }} 

update (prefilling boolean fields)

just in case else having problems prefilling boolean fields:

if pass value @ in querystring, e.g. admin/foo/bar/add/?is_active=foo, prefill is_active field true (since non-empty string truthy value). therefore, if want "uncheck" checkbox given field, pass no value @ all, admin/foo/bar/add/?is_active=


this snippet of code add_view method on modeladmin responsible using parameters initial values. http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/options.py#l878

# prepare dict of initial data request. # have special-case m2ms list of comma-separated pks. initial = dict(request.get.items()) k in initial:     try:         f = opts.get_field(k)     except models.fielddoesnotexist:         continue     if isinstance(f, models.manytomanyfield):         initial[k] = initial[k].split(",")  form = modelform(initial=initial) 

Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -