From 9455e44848aaf4bbd71bff22bdbf3bfabe5d4fe3 Mon Sep 17 00:00:00 2001 From: Scott Baker Date: Fri, 19 Dec 2014 12:13:01 -0800 Subject: [PATCH] fix migration creation issue due to DiffModelMixin --- planetstack/core/models/user.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/planetstack/core/models/user.py b/planetstack/core/models/user.py index 4f723b7..8bbc797 100644 --- a/planetstack/core/models/user.py +++ b/planetstack/core/models/user.py @@ -2,6 +2,7 @@ import os import datetime import sys from collections import defaultdict +from django.forms.models import model_to_dict from django.db import models from django.db.models import F, Q from core.models import PlCoreBase,Site, DashboardView, DiffModelMixIn @@ -81,7 +82,36 @@ class DeletedUserManager(UserManager): def get_query_set(self): return self.get_queryset() -class User(AbstractBaseUser, DiffModelMixIn): +class User(AbstractBaseUser): # , DiffModelMixIn): + + # ---- copy stuff from DiffModelMixin ---- + + @property + def _dict(self): + return model_to_dict(self, fields=[field.name for field in + self._meta.fields]) + + @property + def diff(self): + d1 = self._initial + d2 = self._dict + diffs = [(k, (v, d2[k])) for k, v in d1.items() if v != d2[k]] + return dict(diffs) + + @property + def has_changed(self): + return bool(self.diff) + + @property + def changed_fields(self): + return self.diff.keys() + + def has_field_changed(self, field_name): + return field_name in self.diff.keys() + + def get_field_diff(self, field_name): + return self.diff.get(field_name, None) + # ---- end copy stuff from DiffModelMixin ---- class Meta: app_label = "core" -- 2.43.0