Commit 47c56dfa authored by Dirk Wallenstein's avatar Dirk Wallenstein Committed by Jeremy Kerr
Browse files

models: Implement __unicode__ in models instead of __str__

According to the Django documentation at [1] it is recommended to
implement __unicode__ and not __str__.  Django's model base class
provides a __str__ method that will use the __unicode__ method and
convert to utf-8.  Also, every text value returned from the DB through
the model is unicode.

It is now possible to edit Patches and Persons that have values with
non-ASCII characters through the admin interface.

[1] http://docs.djangoproject.com/en/1.2/ref/unicode/

Signed-off-by: default avatarDirk Wallenstein <halsmit@t-online.de>
Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
parent df79fa03
...@@ -47,9 +47,9 @@ class Person(models.Model): ...@@ -47,9 +47,9 @@ class Person(models.Model):
name = models.CharField(max_length=255, null = True) name = models.CharField(max_length=255, null = True)
user = models.ForeignKey(User, null = True) user = models.ForeignKey(User, null = True)
def __str__(self): def __unicode__(self):
if self.name: if self.name:
return '%s <%s>' % (self.name, self.email) return u'%s <%s>' % (self.name, self.email)
else: else:
return self.email return self.email
...@@ -66,7 +66,7 @@ class Project(models.Model): ...@@ -66,7 +66,7 @@ class Project(models.Model):
listid = models.CharField(max_length=255, unique=True) listid = models.CharField(max_length=255, unique=True)
listemail = models.CharField(max_length=200) listemail = models.CharField(max_length=200)
def __str__(self): def __unicode__(self):
return self.name return self.name
class UserProfile(models.Model): class UserProfile(models.Model):
...@@ -84,7 +84,7 @@ class UserProfile(models.Model): ...@@ -84,7 +84,7 @@ class UserProfile(models.Model):
def name(self): def name(self):
if self.user.first_name or self.user.last_name: if self.user.first_name or self.user.last_name:
names = filter(bool, [self.user.first_name, self.user.last_name]) names = filter(bool, [self.user.first_name, self.user.last_name])
return ' '.join(names) return u' '.join(names)
return self.user.username return self.user.username
def contributor_projects(self): def contributor_projects(self):
...@@ -129,7 +129,7 @@ class UserProfile(models.Model): ...@@ -129,7 +129,7 @@ class UserProfile(models.Model):
person.link_to_user(self.user) person.link_to_user(self.user)
person.save() person.save()
def __str__(self): def __unicode__(self):
return self.name() return self.name()
class State(models.Model): class State(models.Model):
...@@ -137,7 +137,7 @@ class State(models.Model): ...@@ -137,7 +137,7 @@ class State(models.Model):
ordering = models.IntegerField(unique = True) ordering = models.IntegerField(unique = True)
action_required = models.BooleanField(default = True) action_required = models.BooleanField(default = True)
def __str__(self): def __unicode__(self):
return self.name return self.name
class Meta: class Meta:
...@@ -193,7 +193,7 @@ class Patch(models.Model): ...@@ -193,7 +193,7 @@ class Patch(models.Model):
commit_ref = models.CharField(max_length=255, null = True, blank = True) commit_ref = models.CharField(max_length=255, null = True, blank = True)
hash = HashField(null = True, db_index = True) hash = HashField(null = True, db_index = True)
def __str__(self): def __unicode__(self):
return self.name return self.name
def comments(self): def comments(self):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment