Added custom back-end to allow uniqueness

This commit is contained in:
Swen Kooij
2017-01-31 18:04:32 +02:00
parent ed1559ec31
commit 680383b636
6 changed files with 260 additions and 27 deletions

View File

@@ -4,7 +4,6 @@ from django import forms
from django.conf import settings
from django.utils.text import slugify
from ..forms import LocalizedFieldForm
from .localized_field import LocalizedField
from .localized_value import LocalizedValue

View File

@@ -14,11 +14,13 @@ class LocalizedField(HStoreField):
Meta = None
def __init__(self, *args, **kwargs):
def __init__(self, *args, uniqueness=None, **kwargs):
"""Initializes a new instance of :see:LocalizedValue."""
super(LocalizedField, self).__init__(*args, **kwargs)
self.uniqueness = uniqueness
@staticmethod
def from_db_value(value, *_):
"""Turns the specified database value into its Python
@@ -157,3 +159,14 @@ class LocalizedField(HStoreField):
defaults.update(kwargs)
return super().formfield(**defaults)
def deconstruct(self):
"""Gets the values to pass to :see:__init__ when
re-creating this object."""
values = super(LocalizedField, self).deconstruct()
values[3].update({
'uniqueness': self.uniqueness
})
return values