diff -r 2e0b0af889be -r a04b1e4126c4 thirdparty/google_appengine/lib/django/tests/modeltests/custom_methods/models.py --- a/thirdparty/google_appengine/lib/django/tests/modeltests/custom_methods/models.py Sun Sep 06 23:31:53 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -""" -3. Giving models custom methods - -Any method you add to a model will be available to instances. -""" - -from django.db import models -import datetime - -class Article(models.Model): - headline = models.CharField(maxlength=100) - pub_date = models.DateField() - - def __str__(self): - return self.headline - - def was_published_today(self): - return self.pub_date == datetime.date.today() - - def articles_from_same_day_1(self): - return Article.objects.filter(pub_date=self.pub_date).exclude(id=self.id) - - def articles_from_same_day_2(self): - """ - Verbose version of get_articles_from_same_day_1, which does a custom - database query for the sake of demonstration. - """ - from django.db import connection - cursor = connection.cursor() - cursor.execute(""" - SELECT id, headline, pub_date - FROM custom_methods_article - WHERE pub_date = %s - AND id != %s""", [str(self.pub_date), self.id]) - # The asterisk in "(*row)" tells Python to expand the list into - # positional arguments to Article(). - return [self.__class__(*row) for row in cursor.fetchall()] - -__test__ = {'API_TESTS':""" -# Create a couple of Articles. ->>> from datetime import date ->>> a = Article(id=None, headline='Area man programs in Python', pub_date=date(2005, 7, 27)) ->>> a.save() ->>> b = Article(id=None, headline='Beatles reunite', pub_date=date(2005, 7, 27)) ->>> b.save() - -# Test the custom methods. ->>> a.was_published_today() -False ->>> a.articles_from_same_day_1() -[] ->>> a.articles_from_same_day_2() -[] ->>> b.articles_from_same_day_1() -[] ->>> b.articles_from_same_day_2() -[] -"""}