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)
self.field_map = dict((fname, all_field_map[fname]) for fname in self.fields)
```

Mostly I don't see the rationale for creating ``self.field_map`` "wrong" first and then updating it.