123456789101112131415161718192021222324252627282930313233343536 |
- """
- 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_queryset(self):
- return super(ArticleManager, self).get_queryset().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
|