summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2008-08-31 20:30:55 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2008-08-31 20:30:55 +0000
commit4f5b0a321d0151cfdb06f31a679b118c29a2f713 (patch)
treeb4ded392016af88c934d6750bd59b2ebfb6730e2
parent8b11341a9a706f2a239d9e4eec1c093b4e93fecb (diff)
Fixed #8194 (again): correctly focus on the first declared field in the admin. Thanks to fredbartle for catching my silly mistake the first time 'round.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8774 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/admin/helpers.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/django/contrib/admin/helpers.py b/django/contrib/admin/helpers.py
index 56b4f56a68..00e1f88dab 100644
--- a/django/contrib/admin/helpers.py
+++ b/django/contrib/admin/helpers.py
@@ -20,9 +20,14 @@ class AdminForm(object):
yield Fieldset(self.form, name, **options)
def first_field(self):
- if self.form._meta.fields is not None:
- name = self.form._meta.fields[0]
- return forms.BoundField(self.form, self.form.fields[name], name)
+ try:
+ fieldset_name, fieldset_options = self.fieldsets[0]
+ field_name = fieldset_options['fields'][0]
+ if not isinstance(field_name, basestring):
+ field_name = field_name[0]
+ return self.form[field_name]
+ except (KeyError, IndexError):
+ pass
try:
return iter(self.form).next()
except StopIteration: