Coverage for /home/chris/workspace/django-shop/shop/util/fields: 100.00%

# Coverage for /home/chris/workspace/django-shop/shop/util/fields : 100.00%

## 12 statements 12 run 0 missing 6 excluded 0 partial

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # -*- coding: utf-8 -*- from decimal import Decimal from django.db.models.fields import DecimalField class CurrencyField(DecimalField): """ A CurrencyField is simply a subclass of DecimalField with a fixed format: max_digits = 12, decimal_places=2, and defaults to 0.00 """ def __init__(self, **kwargs): if 'max_digits' in kwargs.keys(): del kwargs['max_digits'] if 'decimal_places' in kwargs.keys(): del kwargs['decimal_places'] default = kwargs.get('default', Decimal('0.00')) # get "default" or 0.00 if 'default' in kwargs.keys(): del kwargs['default'] return super(CurrencyField,self).__init__(max_digits=12,decimal_places=2,default=default,**kwargs) def south_field_triple(self): # pragma: no cover """ Returns a suitable description of this field for South. This is excluded from coverage reports since it is pretty much a piece of South itself, and does not influence program behavior at all in case we don't use South. """ # We'll just introspect the _actual_ field. from south.modelsinspector import introspector field_class = "django.db.models.fields.DecimalField" args, kwargs = introspector(self) # That's our definition! return (field_class, args, kwargs)