mirror of
				https://github.com/django/django.git
				synced 2025-10-28 16:16:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.db import models
 | |
| from django.db.models.fields.related import ForeignObject
 | |
| 
 | |
| 
 | |
| class Address(models.Model):
 | |
|     company = models.CharField(max_length=1)
 | |
|     customer_id = models.IntegerField()
 | |
| 
 | |
|     class Meta:
 | |
|         unique_together = [
 | |
|             ('company', 'customer_id'),
 | |
|         ]
 | |
| 
 | |
| 
 | |
| class Customer(models.Model):
 | |
|     company = models.CharField(max_length=1)
 | |
|     customer_id = models.IntegerField()
 | |
|     address = ForeignObject(
 | |
|         Address, models.CASCADE, null=True,
 | |
|         # order mismatches the Contact ForeignObject.
 | |
|         from_fields=['company', 'customer_id'],
 | |
|         to_fields=['company', 'customer_id'],
 | |
|     )
 | |
| 
 | |
|     class Meta:
 | |
|         unique_together = [
 | |
|             ('company', 'customer_id'),
 | |
|         ]
 | |
| 
 | |
| 
 | |
| class Contact(models.Model):
 | |
|     company_code = models.CharField(max_length=1)
 | |
|     customer_code = models.IntegerField()
 | |
|     customer = ForeignObject(
 | |
|         Customer, models.CASCADE, related_name='contacts',
 | |
|         to_fields=['customer_id', 'company'],
 | |
|         from_fields=['customer_code', 'company_code'],
 | |
|     )
 |