mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Since it's introduction in Django 1.8 setUpTestData has been suffering from a documented but confusing caveat due to its sharing of attributes assigned during its execution with all test instances. By keeping track of class attributes assigned during the setUpTestData phase its possible to ensure only deep copies are provided to test instances on attribute retreival and prevent manual setUp gymnastic to work around the previous lack of in-memory data isolation. Thanks Adam Johnson for the extensive review.
		
			
				
	
	
		
			16 lines
		
	
	
		
			412 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			412 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.db import models
 | |
| 
 | |
| 
 | |
| class Car(models.Model):
 | |
|     name = models.CharField(max_length=100)
 | |
| 
 | |
| 
 | |
| class Person(models.Model):
 | |
|     name = models.CharField(max_length=100)
 | |
|     cars = models.ManyToManyField(Car, through='PossessedCar')
 | |
| 
 | |
| 
 | |
| class PossessedCar(models.Model):
 | |
|     car = models.ForeignKey(Car, models.CASCADE)
 | |
|     belongs_to = models.ForeignKey(Person, models.CASCADE, related_name='possessed_cars')
 |