﻿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
9619	to_python not called when fetching data with .values(...)	Valera Grishin	nobody	"Consider following models:

{{{
#!python
from django.db import models

class BinaryField(models.Field):
    __metaclass__ = models.SubfieldBase

    def encode(self):
        # some encoding here

    def decode(self):
        # some decoding here

    def db_type(self):
        return 'text'

    def get_db_prep_value(self, value):
        return super(BinaryField, self).get_db_prep_value(BinaryField.__encode(value))

    def to_python(self, value):
        return super(BinaryField, self).to_python(BinaryField.__decode(value))

class Logo(models.Model):
    channel = models.CharField(max_length=100)
    logo = BinaryField(editable=False)
}}}

Now assume you want to fetch values of ""logo"" field:
{{{
#!python
print Logo.objects.values('logo')[1]['logo']
}}}

This will print encoded value as it is get stored in the database. That is to_python not called."	Bug	closed	Database layer (models, ORM)	dev	Normal	fixed	values,custom field, datetime	amlau@… olau@… Chris Chambers Kevin Christopher Henry django@…	Accepted	0	0	0	0	0	0
