mirror of
https://github.com/django/django.git
synced 2024-11-18 15:34:16 +00:00
a7588e2e22
Surprisingly, this commit doesn't change any behavior at all. When a model is defined with the same name as another model in the same app, the definition of the first class is bound to the name of the class regardless of the definition of the second class.
94 lines
2.3 KiB
Python
94 lines
2.3 KiB
Python
"""
|
|
Regression tests for defer() / only() behavior.
|
|
"""
|
|
|
|
from django.db import models
|
|
from django.utils.encoding import python_2_unicode_compatible
|
|
|
|
|
|
@python_2_unicode_compatible
|
|
class Item(models.Model):
|
|
name = models.CharField(max_length=15)
|
|
text = models.TextField(default="xyzzy")
|
|
value = models.IntegerField()
|
|
other_value = models.IntegerField(default=0)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class RelatedItem(models.Model):
|
|
item = models.ForeignKey(Item)
|
|
|
|
|
|
class Child(models.Model):
|
|
name = models.CharField(max_length=10)
|
|
value = models.IntegerField()
|
|
|
|
|
|
@python_2_unicode_compatible
|
|
class Leaf(models.Model):
|
|
name = models.CharField(max_length=10)
|
|
child = models.ForeignKey(Child)
|
|
second_child = models.ForeignKey(Child, related_name="other", null=True)
|
|
value = models.IntegerField(default=42)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class ResolveThis(models.Model):
|
|
num = models.FloatField()
|
|
name = models.CharField(max_length=16)
|
|
|
|
|
|
class Proxy(Item):
|
|
class Meta:
|
|
proxy = True
|
|
|
|
|
|
@python_2_unicode_compatible
|
|
class SimpleItem(models.Model):
|
|
name = models.CharField(max_length=15)
|
|
value = models.IntegerField()
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
|
|
class Feature(models.Model):
|
|
item = models.ForeignKey(SimpleItem)
|
|
|
|
|
|
class SpecialFeature(models.Model):
|
|
feature = models.ForeignKey(Feature)
|
|
|
|
|
|
class OneToOneItem(models.Model):
|
|
item = models.OneToOneField(Item, related_name="one_to_one_item")
|
|
name = models.CharField(max_length=15)
|
|
|
|
|
|
class ItemAndSimpleItem(models.Model):
|
|
item = models.ForeignKey(Item)
|
|
simple = models.ForeignKey(SimpleItem)
|
|
|
|
|
|
class Profile(models.Model):
|
|
profile1 = models.CharField(max_length=1000, default='profile1')
|
|
|
|
|
|
class Location(models.Model):
|
|
location1 = models.CharField(max_length=1000, default='location1')
|
|
|
|
|
|
class Request(models.Model):
|
|
profile = models.ForeignKey(Profile, null=True, blank=True)
|
|
location = models.ForeignKey(Location)
|
|
items = models.ManyToManyField(Item)
|
|
|
|
request1 = models.CharField(default='request1', max_length=1000)
|
|
request2 = models.CharField(default='request2', max_length=1000)
|
|
request3 = models.CharField(default='request3', max_length=1000)
|
|
request4 = models.CharField(default='request4', max_length=1000)
|