/tests/modeltests/str/models.py
Python | 33 lines | 9 code | 1 blank | 23 comment | 4 complexity | b7596e82aa790dc0a73849ffc4e9f878 MD5 | raw file
Possible License(s): BSD-3-Clause
- # -*- coding: utf-8 -*-
- """
- 2. Adding __str__() or __unicode__() to models
- Although it's not a strict requirement, each model should have a
- ``_str__()`` or ``__unicode__()`` method to return a "human-readable"
- representation of the object. Do this not only for your own sanity when dealing
- with the interactive prompt, but also because objects' representations are used
- throughout Django's automatically-generated admin.
- Normally, you should write ``__unicode__()`` method, since this will work for
- all field types (and Django will automatically provide an appropriate
- ``__str__()`` method). However, you can write a ``__str__()`` method directly,
- if you prefer. You must be careful to encode the results correctly, though.
- """
- from django.db import models
- class Article(models.Model):
- headline = models.CharField(max_length=100)
- pub_date = models.DateTimeField()
- def __str__(self):
- # Caution: this is only safe if you are certain that headline will be
- # in ASCII.
- return self.headline
- class InternationalArticle(models.Model):
- headline = models.CharField(max_length=100)
- pub_date = models.DateTimeField()
- def __unicode__(self):
- return self.headline