Permalink
Browse files

Cleaned up numbering with model unit tests

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3031 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
adrianholovaty committed May 31, 2006
1 parent a846155 commit 02fcfe621664488eab69d90158f65adef292e84a
@@ -1,17 +1,22 @@
"""
XXX. Callable defaults
31. Callable defaults
???
You can pass callable objects as the ``default`` parameter to a field. When
the object is created without an explicit value passed in, Django will call
the method to determine the default value.
This example uses ``datetime.datetime.now`` as the default for the ``pub_date``
field.
"""
from django.db import models
from datetime import datetime
class Article(models.Model):
headline = models.CharField(maxlength=100, default='Default headline')
pub_date = models.DateTimeField(default = datetime.now)
def __repr__(self):
pub_date = models.DateTimeField(default=datetime.now)
def __str__(self):
return self.headline
API_TESTS = """
@@ -43,6 +48,4 @@ def __repr__(self):
>>> d = now - a.pub_date
>>> d.seconds < 5
True
"""
@@ -1,8 +1,7 @@
"""
27. Many-to-many and many-to-one relationships to the same table
This is a response to bug #1535
28. Many-to-many and many-to-one relationships to the same table
Make sure to set ``related_name`` if you use relationships to the same table.
"""
from django.db import models
@@ -14,8 +13,9 @@ class Issue(models.Model):
num = models.IntegerField()
cc = models.ManyToManyField(User, blank=True, related_name='test_issue_cc')
client = models.ForeignKey(User, related_name='test_issue_client')
def __repr__(self):
return "<Issue %d>" % (self.num,)
def __str__(self):
return str(self.num)
class Meta:
ordering = ('num',)
@@ -1,15 +1,15 @@
"""
26. Many-to-many relationships between the same two tables
27. Many-to-many relationships between the same two tables
In this example, A Person can have many friends, who are also people. Friendship is a
In this example, A Person can have many friends, who are also people. Friendship is a
symmetrical relationshiup - if I am your friend, you are my friend.
A person can also have many idols - but while I may idolize you, you may not think
the same of me. 'Idols' is an example of a non-symmetrical m2m field. Only recursive
the same of me. 'Idols' is an example of a non-symmetrical m2m field. Only recursive
m2m fields may be non-symmetrical, and they are symmetrical by default.
This test validates that the m2m table will create a mangled name for the m2m table if
there will be a clash, and tests that symmetry is preserved where appropriate.
there will be a clash, and tests that symmetry is preserved where appropriate.
"""
from django.db import models
@@ -40,7 +40,7 @@ def __repr__(self):
>>> d.friends.add(a,c)
# Who is friends with Anne?
>>> a.friends.all()
>>> a.friends.all()
[Bill, Chuck, David]
# Who is friends with Bill?
@@ -52,14 +52,14 @@ def __repr__(self):
[Anne, David]
# Who is friends with David?
>>> d.friends.all()
>>> d.friends.all()
[Anne, Chuck]
# Bill is already friends with Anne - add Anne again, but in the reverse direction
>>> b.friends.add(a)
# Who is friends with Anne?
>>> a.friends.all()
>>> a.friends.all()
[Bill, Chuck, David]
# Who is friends with Bill?
@@ -70,7 +70,7 @@ def __repr__(self):
>>> b.friends.remove(a)
# Who is friends with Anne?
>>> a.friends.all()
>>> a.friends.all()
[Chuck, David]
# Who is friends with Bill?
@@ -81,7 +81,7 @@ def __repr__(self):
>>> a.friends.clear()
# Who is friends with Anne?
>>> a.friends.all()
>>> a.friends.all()
[]
# Reverse relationships should also be gone
@@ -90,7 +90,7 @@ def __repr__(self):
[David]
# Who is friends with David?
>>> d.friends.all()
>>> d.friends.all()
[Chuck]
@@ -105,7 +105,7 @@ def __repr__(self):
>>> d.stalkers.add(a,c)
# Who are Anne's idols?
>>> a.idols.all()
>>> a.idols.all()
[Bill, Chuck, David]
# Who is stalking Anne?
@@ -140,7 +140,7 @@ def __repr__(self):
>>> b.stalkers.add(a)
# Who are Anne's idols?
>>> a.idols.all()
>>> a.idols.all()
[Bill, Chuck, David]
# Who is stalking Anne?
@@ -158,7 +158,7 @@ def __repr__(self):
>>> b.stalkers.remove(a)
# Who are Anne's idols?
>>> a.idols.all()
>>> a.idols.all()
[Chuck, David]
# Who is stalking Anne?
@@ -177,7 +177,7 @@ def __repr__(self):
>>> a.idols.clear()
# Who are Anne's idols
>>> a.idols.all()
>>> a.idols.all()
[]
# Reverse relationships should also be gone
@@ -186,7 +186,7 @@ def __repr__(self):
[]
# Who is friends with David?
>>> d.stalkers.all()
>>> d.stalkers.all()
[Chuck]
"""
@@ -1,5 +1,5 @@
"""
25. Default manipulators
26. Default manipulators
Each model gets an AddManipulator and ChangeManipulator by default.
"""
@@ -1,5 +1,5 @@
"""
28. Object pagination
29. Object pagination
Django provides a framework for paginating a list of objects in a few lines
of code. This is often useful for dividing search results or long lists of
@@ -1,5 +1,5 @@
"""
29. Validation
30. Validation
This is an experimental feature!

0 comments on commit 02fcfe6

Please sign in to comment.