Source code for jumbo.db.fields

"""
Jumbo fields
=============

Per semplificare la creazione di modelli dove il pattern viene ripetuto
spesso, Jumbo fornisce i seguenti modelli astratti:

.. autoclass:: StatusField

.. autoclass:: HTMLField

"""



from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.contrib.admin import widgets as admin_widgets
from south.modelsinspector import add_introspection_rules
from tinymce import models as tinymce_models


STATUS_CODES = (
    (0, _('Inactive')),
    (1, _('Active')),
)

[docs]class StatusField(models.IntegerField): """ Field con choices 0/1 (Active/Inactive) """ def __init__( self, choices=STATUS_CODES, max_length=3, default=1, verbose_name=_('Status'), help_text=None ): super(StatusField, self).__init__( choices=choices, max_length=max_length, default=default, verbose_name=verbose_name, help_text=help_text ) def get_db_prep_value(self, value): if value is None or value == '': return 1 return int(value)
[docs]class HTMLField(tinymce_models.HTMLField): # Lasciamo questa classe solo per evitare di passarci tutti i modelli # e cambiare l'import dell html field pass # Add introspection rules for migrate
rules = [ ( (StatusField, ), [], { "max_length": ["max_length", {"default": 3}], "default": ["default", {"default": 1}], }, ), ( (HTMLField, ), [], {}, ), ] add_introspection_rules(rules, ["^jumbo\.db\.fields",])