﻿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
31701	Make FileDescriptor subclass DeferredAttribute.	Sultan	Sultan	"The model fields use, by default, the descriptor **DeferredAttribute** to access and process (if necessary) the data associated with them. This type of data represents the actual data in db column. I prefer to call it a “field data”.

To access the field data in instance dict, **Field.attname** is used as a key.

In addition to the field data, some other model fields (for example, ForeignKey) also use a ""client data"" of the attribute, the processing of which is performed by a particular descriptor. Such a descriptor is assigned to a model using **Field.name**. Its task is to present the same field data in a different format, the result of which differs from the result of Field.attname descriptor: `article.author` returns a User object, and `article.auther_id` returns a User object pk.

This feature is not used in FileField. Then why use FileField.name instead of FileField.attname for FileDescriptor?

I think it would be better if FileDescriptor extends the DeferredAttribute class and uses `field.attname` instead of `field.name`."	Cleanup/optimization	closed	Database layer (models, ORM)	dev	Normal	fixed			Ready for checkin	1	0	0	0	1	0
