from django.db import models class Country(models.Model): name = models.CharField(max_length=255) class Meta: app_label = 'addresses' verbose_name = 'Страна' verbose_name_plural = 'Страны' def __unicode__(self): return self.name class Region(models.Model): country = models.ForeignKey('addresses.Country') name = models.CharField(max_length=255) class Meta: app_label = 'addresses' verbose_name = 'Регион' verbose_name_plural = 'Регионы' def __unicode__(self): return self.name class City(models.Model): region = models.ForeignKey('addresses.Region') name = models.CharField(max_length=255) class Meta: app_label = 'addresses' verbose_name = 'Город' verbose_name_plural = 'Города' def __unicode__(self): return self.name class Address(models.Model): city = models.ForeignKey('addresses.City') zip_code = models.CharField(max_length=255) street = models.CharField(max_length=255) building = models.CharField(max_length=32) apartment = models.CharField(max_length=32) class Meta: app_label = 'addresses' verbose_name = 'Адрес' verbose_name_plural = 'Адреса' def __unicode__(self): return '{} {}, {}, {}, {} {}, {}'.format(self.zip_code, self.city.region.country.name, self.city.region.name, self.city.name, self.street, self.building, self.apartment)