From 282fe36b7eae36e82a009dd0237936da07f44a9f Mon Sep 17 00:00:00 2001 From: Tyson Clugg Date: Thu, 27 Aug 2015 14:25:26 +1000 Subject: [PATCH] Set blank=True on AleaIdField, allowing adding items without inventing IDs yourself. --- dddp/models.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dddp/models.py b/dddp/models.py index f181842..89d36b6 100644 --- a/dddp/models.py +++ b/dddp/models.py @@ -214,10 +214,17 @@ class AleaIdField(models.CharField): def __init__(self, *args, **kwargs): """Assume max_length of 17 to match Meteor implementation.""" + kwargs['blank'] = True kwargs.setdefault('verbose_name', 'Alea ID') kwargs.setdefault('max_length', 17) super(AleaIdField, self).__init__(*args, **kwargs) + def deconstruct(self): + """Return arguments to pass to __init__() to re-create this field.""" + name, path, args, kwargs = super(AleaIdField, self).deconstruct() + del kwargs['blank'] + return name, path, args, kwargs + def get_seeded_value(self, instance): """Generate a syncronised value.""" # Django model._meta is public API -> pylint: disable=W0212