class Interest(models.Model): title = models.CharField(max_length=200)
def _str_(self):
return self.title
I have trying use str to return the title but unfortunately it return back object 1
CodePudding user response:
You need to user double underscore (__)
so it'll look like:
def __str__(self):
return self.title
CodePudding user response:
conventions
__bar__: a way for the Python system to use names that won't conflict with user names.
_bar: a way for the programmer to indicate that the variable is private (whatever that means in Python).
__bar: this has real meaning: the interpreter replaces this name with _classname__bar as a way to ensure that the name will not overlap with a similar name in another class.
No other form of underscores have meaning in the Python world, so you should use __str__ nor _str_
class Interest(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
Other examples:
__init__(), __call__(), __add__(), __new__ ...
