Imran Omar Bukhsh
Imran Omar Bukhsh

Reputation: 8071

Python 2.7__unicode__(self) not working

unicode(self) is not working for me. I can still see 'Name Object' in the admin. My code is as follows:

import datetime # standard python datetime module
from django.db import models # Djangos time-zone-related utilities
from django.utils import timezone

class Name(models.Model):
    name = models.CharField(max_length=200)

def __unicode__(self):  # Python 3: def __str__(self):
    return self.name

Thanking you

Upvotes: 4

Views: 3313

Answers (2)

anish
anish

Reputation: 7412

Python INDENTION will be responsible most of the time, to work correclty, use the editor or separate out the _unicode_(self) with tab

      def __unicode__(self):  # Python 3: def __str__(self):
            return str(self.name)

Upvotes: 1

AI Generated Response
AI Generated Response

Reputation: 8845

The problem you have is that you need to define the __unicode__ method within the class definition.

import datetime # standard python datetime module
from django.db import models # Djangos time-zone-related utilities
from django.utils import timezone

class Name(models.Model):
    name = models.CharField(max_length=200)

    def __unicode__(self):  # Python 3: def __str__(self):
        return str(self.name)

should work for you.

Upvotes: 10

Related Questions