mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	* Renamed the __unicode__ methods * Applied the python_2_unicode_compatible decorator * Removed the StrAndUnicode mix-in that is superseded by python_2_unicode_compatible * Kept the __unicode__ methods in classes that specifically test it under Python 2
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """
 | |
| 35. DB-API Shortcuts
 | |
| 
 | |
| ``get_object_or_404()`` is a shortcut function to be used in view functions for
 | |
| performing a ``get()`` lookup and raising a ``Http404`` exception if a
 | |
| ``DoesNotExist`` exception was raised during the ``get()`` call.
 | |
| 
 | |
| ``get_list_or_404()`` is a shortcut function to be used in view functions for
 | |
| performing a ``filter()`` lookup and raising a ``Http404`` exception if a
 | |
| ``DoesNotExist`` exception was raised during the ``filter()`` call.
 | |
| """
 | |
| 
 | |
| from django.db import models
 | |
| from django.utils.encoding import python_2_unicode_compatible
 | |
| 
 | |
| 
 | |
| @python_2_unicode_compatible
 | |
| class Author(models.Model):
 | |
|     name = models.CharField(max_length=50)
 | |
| 
 | |
|     def __str__(self):
 | |
|         return self.name
 | |
| 
 | |
| class ArticleManager(models.Manager):
 | |
|     def get_query_set(self):
 | |
|         return super(ArticleManager, self).get_query_set().filter(authors__name__icontains='sir')
 | |
| 
 | |
| @python_2_unicode_compatible
 | |
| class Article(models.Model):
 | |
|     authors = models.ManyToManyField(Author)
 | |
|     title = models.CharField(max_length=50)
 | |
|     objects = models.Manager()
 | |
|     by_a_sir = ArticleManager()
 | |
| 
 | |
|     def __str__(self):
 | |
|         return self.title
 |