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 [email protected].
To post to this group, send email to [email protected].
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.