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 14695,Field's `name` kwarg gets paved over,erikrose,nobody,"`Field.set_attributes_from_name` should [source:/django/trunk/django/db/models/fields/__init__.py?rev=14069#L229 set self.name = name] only if `self.name` is `None`. As things stand, any `name=whatever` kwarg we pass to a field on construction is obliterated by `set_attributes_from_name`. This means things like… {{{ _category = models.IntegerField(db_column='category', name='category') }}} …end up with a `get__category_display` method (note the 2 underscores in a row) rather than a `get_category_display`. I've attached a quick but functional patch that fixes this; the tests (in 1.2.3, anyway) still all pass. One possible improvement might be to use `get_attname` rather than saying `self.name` directly, but (1) I'm not sure what the layering intentions are in there and (2) it blew up in a hairly-looking way when I tried—so I wouldn't mind some clueful feedback about that. FWIW, my use case is replacing my model's `category` attr with a descriptor so I can do some custom stuff on get. #3148 would make this unnecessary for me, but I could see that taking awhile to land.",Bug,closed,"Database layer (models, ORM)",1.2,Normal,fixed,dceu2011,,Ready for checkin,1,0,0,0,0,0