from django.db import models from mptt.models import TreeForeignKey, MPTTModel class Location(MPTTModel): TYPES = ( ('_root', 'Корень'), ('country', 'Страна'), ('region', 'Регион'), ('town', 'Город'), ) name = models.CharField(max_length=50) parent = TreeForeignKey('self', blank=True, null=True, related_name='children', db_index=True) type = models.CharField(max_length=20, choices=TYPES) def __str__(self): return self.name class Meta: verbose_name = 'Местоположение' verbose_name_plural = 'Местоположения'