Removed reference to deprecated SubFieldBase; replaced with from_db_value()

This commit is contained in:
Jeremy Stretch 2016-05-02 15:01:43 -04:00
parent 889bd9c8b3
commit 810981b1d6

View File

@ -2,18 +2,20 @@ from netaddr import IPNetwork
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import models from django.db import models
from django.utils.six import with_metaclass
from .formfields import IPFormField from .formfields import IPFormField
from .lookups import EndsWith, IEndsWith, StartsWith, IStartsWith, Regex, IRegex, NetContained, NetContainedOrEqual, \ from .lookups import EndsWith, IEndsWith, StartsWith, IStartsWith, Regex, IRegex, NetContained, NetContainedOrEqual, \
NetContains, NetContainsOrEquals, NetHost NetContains, NetContainsOrEquals, NetHost
class _BaseIPField(models.Field): class BaseIPField(models.Field):
def python_type(self): def python_type(self):
return IPNetwork return IPNetwork
def from_db_value(self, value, expression, connection, context):
return self.to_python(value)
def to_python(self, value): def to_python(self, value):
if not value: if not value:
return value return value
@ -33,10 +35,10 @@ class _BaseIPField(models.Field):
def formfield(self, **kwargs): def formfield(self, **kwargs):
defaults = {'form_class': self.form_class()} defaults = {'form_class': self.form_class()}
defaults.update(kwargs) defaults.update(kwargs)
return super(_BaseIPField, self).formfield(**defaults) return super(BaseIPField, self).formfield(**defaults)
class IPNetworkField(with_metaclass(models.SubfieldBase, _BaseIPField)): class IPNetworkField(BaseIPField):
""" """
IP prefix (network and mask) IP prefix (network and mask)
""" """
@ -59,7 +61,7 @@ IPNetworkField.register_lookup(NetContainsOrEquals)
IPNetworkField.register_lookup(NetHost) IPNetworkField.register_lookup(NetHost)
class IPAddressField(with_metaclass(models.SubfieldBase, _BaseIPField)): class IPAddressField(BaseIPField):
""" """
IP address (host address and mask) IP address (host address and mask)
""" """