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'],
|
||
|
)
|