diff -r 5ff1fc726848 -r c6bca38c1cbf parts/django/tests/regressiontests/many_to_one_regress/models.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/parts/django/tests/regressiontests/many_to_one_regress/models.py Sat Jan 08 11:20:57 2011 +0530 @@ -0,0 +1,46 @@ +""" +Regression tests for a few ForeignKey bugs. +""" + +from django.db import models + +# If ticket #1578 ever slips back in, these models will not be able to be +# created (the field names being lower-cased versions of their opposite +# classes is important here). + +class First(models.Model): + second = models.IntegerField() + +class Second(models.Model): + first = models.ForeignKey(First, related_name = 'the_first') + +# Protect against repetition of #1839, #2415 and #2536. +class Third(models.Model): + name = models.CharField(max_length=20) + third = models.ForeignKey('self', null=True, related_name='child_set') + +class Parent(models.Model): + name = models.CharField(max_length=20) + bestchild = models.ForeignKey('Child', null=True, related_name='favored_by') + +class Child(models.Model): + name = models.CharField(max_length=20) + parent = models.ForeignKey(Parent) + + +# Multiple paths to the same model (#7110, #7125) +class Category(models.Model): + name = models.CharField(max_length=20) + + def __unicode__(self): + return self.name + +class Record(models.Model): + category = models.ForeignKey(Category) + +class Relation(models.Model): + left = models.ForeignKey(Record, related_name='left_set') + right = models.ForeignKey(Record, related_name='right_set') + + def __unicode__(self): + return u"%s - %s" % (self.left.category.name, self.right.category.name)