add missing files
This commit is contained in:
32
aircox_web/fields.py
Normal file
32
aircox_web/fields.py
Normal file
@ -0,0 +1,32 @@
|
||||
from django.db import models
|
||||
|
||||
|
||||
class BaseMinMaxField:
|
||||
def __init__(self, verbose_name=None, name=None, min=None, max=None,
|
||||
**kwargs):
|
||||
super().__init__(verbose_name, name, **kwargs)
|
||||
self.min_value = min
|
||||
self.max_value = max
|
||||
|
||||
def minmax(self, value):
|
||||
return min(self.max_value, max(self.min_value, value))
|
||||
|
||||
def to_python(self, value):
|
||||
return self.minmax(super().to_python(value))
|
||||
|
||||
def get_prep_value(self, value):
|
||||
return super().get_prep_value(self.minmax(value))
|
||||
|
||||
|
||||
class MinMaxField(BaseMinMaxField, models.IntegerField):
|
||||
pass
|
||||
|
||||
class SmallMinMaxField(BaseMinMaxField, models.SmallIntegerField):
|
||||
pass
|
||||
|
||||
class PositiveMinMaxField(BaseMinMaxField, models.PositiveIntegerField):
|
||||
pass
|
||||
|
||||
class PositiveSmallMinMaxField(BaseMinMaxField, models.PositiveSmallIntegerField):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user