diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-12-08 08:15:37 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-12-08 08:15:37 +0000 |
| commit | d662ef554015a3508ff8100c73b370728156a02c (patch) | |
| tree | ebd0f191d7033bced3770ef88306b00c4102b319 /django/db/models/base.py | |
| parent | fa7aa7255ca990b2f13e615f023a958e54cb17d0 (diff) | |
The first step in fixing a group of problems related to outputting a proper
"value" for a field that is a relation to another model.
This part adds the utility method on Model that should help in general.Also
cleans up the slightly ugly mess from r8957.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9601 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/db/models/base.py')
| -rw-r--r-- | django/db/models/base.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py index bf6588d7fe..a561b80979 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -296,6 +296,16 @@ class Model(object): pk = property(_get_pk_val, _set_pk_val) + def serializable_value(self, field_name): + """ + Returns the value of the field name for this instance. If the field + is a foreign key, returns the id value, instead of the object. + Used to serialize a field's value (in the serializer, or form output, + for example). + """ + field = self._meta.get_field_by_name(field_name)[0] + return getattr(self, field.attname) + def save(self, force_insert=False, force_update=False): """ Saves the current instance. Override this in a subclass if you want to |
