Hi,

I am doing migration from Django 1.7 to 1.10 version and has a custom 
django field.

Below is the custom class for the field:

----

from django.db import models



class HibernateBooleanField(models.BooleanField):

    def from_db_value(self, value, expression, connection, context):

        return self.to_python(value)


    def get_internal_type(self):

        return "HibernateBooleanField"


    def db_type(self, connection):

        return 'bit(1)'


    def to_python(self, value):

        if value in (True, False):

            return value

        if value in ('t', 'True', 'true', '1', '\x01'): return True

        if value in ('f', 'False', 'false', '0', '\x00', None): return False


    def get_db_prep_value(self, value, connection, prepared=False):

        return 0x01 if value else 0x00


    def get_db_prep_save(self, value, connection):

        return 0x01 if value else 0x00


    def get_prep_value(self, value):

        return self.to_python(value)

---


I have defined a field in the model as:



class MetaMetadata(models.Model):

    is_folder = HibernateBooleanField()



When I invoke a POST request on API in my test case , I get the value for 
this field as "None" in response. 


The API is :


response = self._client.post('/xyz/api/metametadatas/',
   {'edit_view': "TestEditView",
      'grid_view': "TestGridView",
      'name': "Test Metametadata",
      'sort_key': 9000,
      'parentid': 0,
      'version':0,
      'id': 100}, format='json')



Please explain , what is it that I'm doing wrong. Why isn't to_python method 
getting invoked ? Am I missing something?


Regards,

Priyanka


-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/3e95b214-8a06-4482-b092-c9dd6a32b6fc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to