1 | from django.db import models
|
---|
2 |
|
---|
3 |
|
---|
4 | class Entity(models.Model):
|
---|
5 | pass
|
---|
6 |
|
---|
7 |
|
---|
8 | class Country(Entity):
|
---|
9 | name = models.CharField(max_length=30)
|
---|
10 |
|
---|
11 |
|
---|
12 | class EUCountry(Country):
|
---|
13 | join_date = models.DateField()
|
---|
14 |
|
---|
15 |
|
---|
16 | class City(models.Model):
|
---|
17 | name = models.CharField(max_length=30)
|
---|
18 | country = models.ForeignKey(Country, models.CASCADE)
|
---|
19 |
|
---|
20 |
|
---|
21 | class EUCity(models.Model):
|
---|
22 | name = models.CharField(max_length=30)
|
---|
23 | country = models.ForeignKey(EUCountry, models.CASCADE)
|
---|
24 |
|
---|
25 |
|
---|
26 | class CountryProxy(Country):
|
---|
27 | class Meta:
|
---|
28 | proxy = True
|
---|
29 |
|
---|
30 |
|
---|
31 | class CountryProxyProxy(CountryProxy):
|
---|
32 | class Meta:
|
---|
33 | proxy = True
|
---|
34 |
|
---|
35 |
|
---|
36 | class CityCountryProxy(models.Model):
|
---|
37 | country = models.ForeignKey(CountryProxyProxy, models.CASCADE)
|
---|
38 |
|
---|
39 |
|
---|
40 | class Person(models.Model):
|
---|
41 | name = models.CharField(max_length=30)
|
---|
42 | born = models.ForeignKey(City, models.CASCADE, related_name="+")
|
---|
43 | died = models.ForeignKey(City, models.CASCADE, related_name="+", null=True)
|
---|
44 |
|
---|
45 |
|
---|
46 | class PersonProfile(models.Model):
|
---|
47 | person = models.OneToOneField(Person, models.CASCADE, related_name="profile")
|
---|