Here is `models.py`:

```
class Parent(models.Model):
    id        = models.CharField(max_length=14, primary_key=True)
    json_dump = models.TextField(null=False)

    def __init__(self, *args, **kwargs):
        super(Base, self).__init__(*args, **kwargs)
        setattr(self, 'name', json.loads(self.json_dump)['name'])

    class Meta:
        abstract = True

class Child(Parent):
    magnitude  = models.IntegerField()

```

In my `admin.py` I would like to configure the admin for Child to have the `name` attribute displayed, so I have the following:

```
class ChildAdmin(admin.ModelAdmin):
    model = Child

    def get_list_display(self, request):
        return ('id', 'name', 'magnitude')

admin.site.register(Child, ChildAdmin)

```

I have to have `list_display` generated on the fly from the `get_list_display` method because otherwise Django throws an error on startup complaining that `name` is not defined in the `Child` model. However, when running, `name` should be available as it is set in the `__init__` method whenever the object is instantiated from the database.

However, when I try to load the admin page I get the error: 

```
Unable to lookup 'name' on Child or ChildAdmin

```

What gives?