Skip to content

Commit

Permalink
Add support for South migrations.
Browse files Browse the repository at this point in the history
  • Loading branch information
Warren Smith committed Aug 25, 2017
1 parent b116259 commit abe1f34
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions staticmodel/django/fields.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import unicode_literals

from django.db import models

import six


Expand All @@ -20,6 +21,18 @@ def __init__(self, *args, **kwargs):

super(StaticModelFieldMixin, self).__init__(*args, **kwargs)

@property
def static_model(self):
return self._static_model

@property
def value_field_name(self):
return self._value_field_name

@property
def display_field_name(self):
return self._display_field_name

def deconstruct(self):
name, path, args, kwargs = super(StaticModelFieldMixin, self).deconstruct()

Expand Down Expand Up @@ -87,3 +100,26 @@ def _validate_member_value(self, member, value):
if not isinstance(value, six.integer_types):
raise ValueError('Field {!r} of member {!r} must be an integer.'.format(
self._value_field_name, member._member_name))


try:
from south.modelsinspector import add_introspection_rules
except ImportError:
pass
else:
SOUTH_RULES = [
(
(StaticModelFieldMixin, ),
[],
{
"static_model": ["static_model", {'default': None}],
"value_field_name": ["value_field_name", {'default': None}],
"display_field_name": ["display_field_name", {'default': None}],
},
)
]

add_introspection_rules(SOUTH_RULES, [
"^staticmodel\.django\.fields\.StaticModelCharField",
"^staticmodel\.django\.fields\.StaticModelIntegerField",
])

0 comments on commit abe1f34

Please sign in to comment.