﻿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
11042	admin inlines of inherited models break on edit submit after changeset 10666	Jacob Smullyan		"after r10666, an inline of an inherited model cannot be edited.  The following traceback results upon submit:
{{{
Traceback:
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/core/handlers/base.py"" in get_response
  92.                 response = callback(request, *callback_args, **callback_kwargs)
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/contrib/admin/options.py"" in wrapper
  226.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/contrib/admin/sites.py"" in inner
  184.             return view(request, *args, **kwargs)
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/db/transaction.py"" in _commit_on_success
  240.                 res = func(*args, **kw)
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/contrib/admin/options.py"" in change_view
  832.                     self.save_formset(request, form, formset, change=True)
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/contrib/admin/options.py"" in save_formset
  563.         formset.save()
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/forms/models.py"" in save
  509.         return self.save_existing_objects(commit) + self.save_new_objects(commit)
File ""/home/smulloni/.virtualenvs/jangle/lib/python2.5/site-packages/django/forms/models.py"" in save_existing_objects
  615.             pk_value = form.fields[pk_name].clean(raw_pk_value).pk

Exception Type: AttributeError at /admin/bobapp/bob/1/
Exception Value: 'NoneType' object has no attribute 'pk'
}}}

Reverse-merging r10666 makes the problem go away.

The trivial example code to reproduce the bug:

{{{
# models.py
from django.db import models

class Bob(models.Model):
    name=models.CharField(max_length=100)

class Thing(models.Model):
    name=models.CharField(max_length=100)

class FancyThing(Thing):
    is_fancy=models.BooleanField(default=True)
    bob=models.ForeignKey(Bob)


#admin.py
from django.contrib import admin

from models import FancyThing, Bob

class FancyThingInline(admin.StackedInline):
    model=FancyThing

class BobAdmin(admin.ModelAdmin):
    inlines=[FancyThingInline]

admin.site.register(Bob, BobAdmin)

}}}
  "		closed	contrib.admin	1.0		fixed			Accepted	1	0	0	0	0	0
