From afde1c6268755eb779aa67a34ced6644c797cba5 Mon Sep 17 00:00:00 2001 From: Mathieu Pillard Date: Fri, 22 Jan 2010 12:50:12 +0100 Subject: [PATCH] special case for AVATAR_MAX_AVATARS_PER_USER == 1: try to work always on the same db row, by re-using the id. --- avatar/models.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/avatar/models.py b/avatar/models.py index fe0b346..cd87b0f 100644 --- a/avatar/models.py +++ b/avatar/models.py @@ -33,7 +33,10 @@ class Avatar(models.Model): return _(u'Avatar for %s') % self.user def save(self, force_insert=False, force_update=False): - if self.primary and AVATAR_MAX_AVATARS_PER_USER > 1: + if AVATAR_MAX_AVATARS_PER_USER == 1: + first = Avatar.objects.filter(user=self.user).only('id')[0] + self.id = first.id + elif self.primary and AVATAR_MAX_AVATARS_PER_USER > 1: avatars = Avatar.objects.filter(user=self.user, primary=True)\ .exclude(id=self.id) avatars.update(primary=False)