updating all models with Natural Keys for Django [dump|load]data for #89; adding...
[oweals/karmaworld.git] / karmaworld / apps / users / models.py
1 #!/usr/bin/env python
2 # -*- coding:utf8 -*-
3 # Copyright (C) 2013  FinalsClub Foundation
4 from django.contrib import admin
5
6 from django.db import models
7
8
9 class KarmaUserManager(models.Manager):
10     """ Handle restoring data. """
11     def get_by_natural_key(self, email):
12         """
13         Return a KarmaUser defined by his/her email address.
14         """
15         return self.get(email=email)
16
17
18 class KarmaUser(models.Model):
19     objects = KarmaUserManager()
20
21     email   = models.EmailField(blank=False, null=False, unique=True)
22
23     def __unicode__(self):
24         return u'KarmaUser: {0}'.format(self.email)
25
26     def natural_key(self):
27         """
28         A KarmaUser is uniquely defined by his/her email address.
29         """
30         return (self.email,)