models.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from django.db import models
  2. class Entity(models.Model):
  3. pass
  4. class Country(Entity):
  5. name = models.CharField(max_length=30)
  6. class EUCountry(Country):
  7. join_date = models.DateField()
  8. class City(models.Model):
  9. name = models.CharField(max_length=30)
  10. country = models.ForeignKey(Country, models.CASCADE)
  11. class EUCity(models.Model):
  12. name = models.CharField(max_length=30)
  13. country = models.ForeignKey(EUCountry, models.CASCADE)
  14. class CountryProxy(Country):
  15. class Meta:
  16. proxy = True
  17. class CountryProxyProxy(CountryProxy):
  18. class Meta:
  19. proxy = True
  20. class CityCountryProxy(models.Model):
  21. country = models.ForeignKey(CountryProxyProxy, models.CASCADE)
  22. class Person(models.Model):
  23. name = models.CharField(max_length=30)
  24. born = models.ForeignKey(City, models.CASCADE, related_name='+')
  25. died = models.ForeignKey(City, models.CASCADE, related_name='+')
  26. class PersonProfile(models.Model):
  27. person = models.OneToOneField(Person, models.CASCADE, related_name='profile')