summaryrefslogtreecommitdiff
path: root/django/db/models/base.py
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-12-08 08:15:37 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-12-08 08:15:37 +0000
commitd662ef554015a3508ff8100c73b370728156a02c (patch)
treeebd0f191d7033bced3770ef88306b00c4102b319 /django/db/models/base.py
parentfa7aa7255ca990b2f13e615f023a958e54cb17d0 (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.py10
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