Changeset 3197
- Timestamp:
- 06/23/06 03:16:36 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/fields/related.py
r3196 r3197 516 516 class OneToOneField(RelatedField, IntegerField): 517 517 def __init__(self, to, to_field=None, **kwargs): 518 try: 519 to_name = to._meta.object_name.lower() 520 except AttributeError: # to._meta doesn't exist, so it must be RECURSIVE_RELATIONSHIP_CONSTANT 521 assert isinstance(to, basestring), "OneToOneField(%r) is invalid. First parameter to OneToOneField must be either a model, a model name, or the string %r" % (to, RECURSIVE_RELATIONSHIP_CONSTANT) 522 else: 523 to_field = to_field or to._meta.pk.name 518 524 kwargs['verbose_name'] = kwargs.get('verbose_name', '') 519 to_field = to_field or to._meta.pk.name520 525 521 526 if kwargs.has_key('edit_inline_type'): django/trunk/tests/regressiontests/string_lookup/models.py
r3195 r3197 22 22 return "Whiz %s" % self.name 23 23 24 class Child(models.Model): 25 parent = models.OneToOneField('Base') 26 name = models.CharField(maxlength = 50) 27 28 def __str__(self): 29 return "Child %s" % self.name 30 31 class Base(models.Model): 32 name = models.CharField(maxlength = 50) 33 34 def __str__(self): 35 return "Base %s" % self.name 36 24 37 API_TESTS = """ 25 # Regression test for #166 2: Check that string form referencing of models works, both as26 # pre and post reference38 # Regression test for #1661 and #1662: Check that string form referencing of models works, 39 # both as pre and post reference, on all RelatedField types. 27 40 28 41 >>> f1 = Foo(name="Foo1") … … 46 59 <Foo: Foo Foo1> 47 60 61 >>> base1 = Base(name="Base1") 62 >>> base1.save() 63 64 >>> child1 = Child(name="Child1", parent=base1) 65 >>> child1.save() 66 67 >>> child1.parent 68 <Base: Base Base1> 48 69 """
