Login

HibernateBooleanField

Author:
kivsiak
Posted:
January 15, 2010
Language:
Python
Version:
1.1
Score:
2 (after 2 ratings)

Sometimes its necessary to map your django models to Java Hibernate created tables. Hibernate maps boolean field to bit(1) column instead of tinyint in django.

NOTE: tested for mysql backend only

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class HibernateBooleanField(models.BooleanField):
    
    __metaclass__ = models.SubfieldBase
    
    def get_internal_type(self):
        return "HibernateBooleanField"
        
    def db_type(self):
        return 'bit(1)'

    def to_python(self, value):
        if value in (True, False): return value
        if value in ('t', 'True', '1', '\x01'): return True  
        if value in ('f', 'False', '0', '\x00'): return False

    def get_db_prep_value(self, value):  
        return 0x01 if value else 0x00

More like this

  1. Form field with fixed value by roam 3 days, 20 hours ago
  2. New Snippet! by Antoliny0919 1 week, 3 days ago
  3. Add Toggle Switch Widget to Django Forms by OgliariNatan 2 months, 4 weeks ago
  4. get_object_or_none by azwdevops 6 months, 3 weeks ago
  5. Mask sensitive data from logger by agusmakmun 8 months, 2 weeks ago

Comments

Please login first before commenting.