У меня есть модель "Города" в "external_app" приложение вроде этого:
class Cities(models.Model):
CityName = models.CharField(max_length=50, blank=False, db_index=True)
slug = models.SlugField(max_length=50, db_index=True, unique=True)
У меня есть второе приложение, "Address_program" с несколькими моделями:
class CityRegions(models.Model):
city = models.ForeignKey('external_app.Cities', default=0, verbose_name=' City', related_name='City_for_region')
city_region = models.CharField(max_length=200, blank=False, default='', verbose_name='City region', unique=True)
city_region_slug = models.SlugField(verbose_name='City region slug')
и вторая модель для субрегионов в регионе.Теперь я хочу опубликовать используемые города в модели CityRegions.Я пытаюсь добавить FK для поля города
class RegionSquares(models.Model):
city = models.ForeignKey(CityRegions, default=0, verbose_name='City', related_name='City_for_regionsquare', to_field='city')
region = models.ForeignKey(CityRegions, default=0, verbose_name='City region',related_name='Region')
region_square = models.CharField(max_length=200, blank=False, default='', verbose_name='City sub-region')
region_square_slug = models.SlugField(verbose_name='City sub-region slug')
, когда я пытаюсь выполнить миграцию, я получаю сообщение об ошибке "(fields.E311) 'CityRegions.city' должен установить unique = True, потому что этоссылается на внешний ключ ".
Когда я устанавливаю unique = True в поле CityRegions.City и пытаюсь выполнить миграцию, я получаю сообщение об ошибке:" django.db.utils.IntegrityError: Сбой ограничения UNIQUE... "
Вопрос в том, как опубликовать список используемых в CityRegions моделей городов в RegionSquares модели?
В общем приложении должно быть несколько моделей: - editanle списки областей города с текущим городом (должен отображаться регион и город) - редактируемый список подрайонов для каждого региона города (должен отображаться город, регион и субрегион) - редактируемый список улиц (город, область иподобласть должна быть показана)
Схема:
**cities** (model. Used in another apps of the project)
|-->**citie's regions** (parent for sub-regions) (city and region should me show in admin)
|--> **region's sub-regions** (parent for streets) (city,region and sub-region should me show in admin)
|--> **list of streets** (city,region, sub-region and street should me show in admin)
Пример данных:
**Cities:** Moscow, Novosibirsk, Kemerovo
**Regions (city is parent):** Moscow - SVAO, Moscow - TSAO, Novosibirsk - Centralnij, Kemerovo - Jugniy
**Sub regions (City and region are parents):** Moscow - SVAO - sub-region A; Moscow - SVAO - subregion B; Moscow - SVAO sub-region C. Novosibirsk - Centralnij - sub-region A. Novosibirsk - Centralnij - sub-region B
**Streets (City, region and sub-region are parents):** Moscow - SVAO - sub-region A - street A; Moscow - SVAO - sub-region A - street B; Moscow - SVAO - sub-region A - street C; Novosibirsk - Centralnij - sub-region B -s treet A; Novosibirsk - Centralnij - sub-region B street B... and so on
Желаемый результат:
Moscow
Moscow - SVAO
Moscow - SVAO - sub-region A
Moscow - SVAO - sub-region A - street A
Moscow - SVAO - sub-region A - street B
Moscow - SVAO - sub-region A - street C
Moscow - SVAO - sub-region B
Moscow - SVAO - sub-region B - street A
Moscow - SVAO - sub-region B - street B
Moscow - SVAO - sub-region B - street C
Moscow - SVAO - sub-region C
Moscow - SVAO - sub-region C - street A
Moscow - SVAO - sub-region C - street B
Moscow - SVAO - sub-region C - street C
Novosibirsk
Novosibirsk - Centralnij
Novosibirsk - Centralnij - sub-region A - street A
Novosibirsk - Centralnij - sub-region A - street B
Novosibirsk - Centralnij - sub-region A - street C
and so on...
Я использую Django 1.11 и python 2.7.10