I think this earlier comment got missed, so re-posting it:

I think this method would be simpler and clearer written like so:

```
all_field_map = dict((f.name, f.attname) for f in cls._meta.local_fields)
return dict((fname, all_field_map[fname]) for fname in self.fields)
```

Mostly I don't see the rationale for creating ``field_map`` "wrong" first and then updating it. Am I missing something?