Ticket #11938: to_field_tests.2.py

File to_field_tests.2.py, 1.4 KB (added by David Cramer, 15 years ago)

Additional test case on deletion.

Line 
1class SimpleModel(models.Model):
2 user = models.ForeignKey(User, to_field="username")
3
4class ComplexModel(models.Model):
5 relations = models.ManyToManyField(User, through='IntermediateModel')
6
7class IntermediateModel(models.Model):
8 user = models.ForeignKey(User, to_field="username")
9 other = models.ForeignKey(M2MToField)
10
11class toFieldTests(unittest.TestCase):
12 def setUp(self):
13 self.user = User.objects.create(email="username@sample.com",username="username")
14
15 def tearDown(self):
16 self.user.delete()
17
18 class testRelational(self):
19 instance = ComplexModel.objects.create()
20
21 IntermediateModel.objects.create(other=instance, user=self.user)
22
23 # Fails
24 self.assertEquals(list(instance.relations.all()), [self.user])
25
26 class testDeletion(self):
27 instance = ComplexModel.objects.create()
28 IntermediateModel.objects.create(other=instance, user=self.user)
29 instance = SimpleModel.objects.create(user=self.user)
30
31 for m in (SimpleModel, ComplexModel):
32 m.objects.all().delete()
33
34 SimpleModel.objects.all().delete()
35 ComplexModel.objects.all().delete()
36
37 class testSimple(self):
38 instance = SimpleModel.objects.create(user=self.user)
39
40 self.assertEquals(instance.user, self.user)
41
42 # Fails
43 self.assertEquals(SimpleModel.objects.get(user=self.user), instance)
Back to Top