#9863 closed (fixed)
InlineModelAdmin breaks in the latest revision 9650
Description ¶
I've defined two models like this:
class Parent(models.Model): name = models.CharField(max_length = 128, db_index = True) class Child(models.Model): parent = models.ForeignKey(Parent, related_name = 'child_set', editable = False) name = models.CharField(max_length = 30, blank = True)
And in admin.py, I tried to edit the Child object related to the certain Parent object.
class ChildInline(admin.StackedInline): model = Child extra = 10 class ParentAdmin(admin.ModelAdmin): inlines = [ ChildInline, ] site.register(Parent, ParentAdmin)
However, the admin application shows something like below:
KeyError at /admin/object/object/add/ 'object'
The line of code which throws the exception is
C:\Python24\lib\site-packages\django\forms\models.py in add_fields 487. return save_instance(form, new_obj, exclude=[self._pk_field.name], commit=commit) 488. 489. def add_fields(self, form, index): 490. super(BaseInlineFormSet, self).add_fields(form, index) 491. if self._pk_field == self.fk: 492. form.fields[self._pk_field.name] = InlineForeignKeyField(self.instance, pk_field=True) 493. else: >>>This Line>>> 494. form.fields[self.fk.name] = InlineForeignKeyField(self.instance, label=form.fields[self.fk.name].label) ...
I've tried to revert my Django to revision 9160, the same model and admin settings do not throw the same exception. It's like that the foreignkey field leads to this error.
But I'm quite confused about it.
Change History (13)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
Component: | django.contrib.admin → Forms |
---|
This error also happens with inlineformset_factory() if a model's field has editable=False or if it's used with formset = MyFormSet(... exclude=('some_field')).
comment:4 by , 16 years ago
milestone: | → 1.1 |
---|---|
Triage Stage: | Unreviewed → Accepted |
comment:5 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
by , 16 years ago
Attachment: | test_9863.diff added |
---|
Stand-alone django test case exhibiting the problem
by , 16 years ago
comment:7 by , 16 years ago
Has patch: | set |
---|
by , 16 years ago
Attachment: | 9683.2.diff added |
---|
comment:8 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
My mistake
The error should be