Имею модель
from django.db import models class Country(models.Model): country_name = models.CharField(max_length = 60, db_index = True, unique = True) class Meta: db_table = 'country' class City(models.Model): city_name = models.CharField(max_length = 30, db_index = True, unique = True) city_country = models.ForeignKey(Country) class Meta: db_table = 'city' class PlaceType(models.Model): placetype_name = models.CharField(max_length = 25, blank = True, unique = True) class Meta: db_table = 'place_type' class Place(models.Model): place_name = models.CharField(max_length = 50, db_index = True) place_street = models.CharField(max_length = 80) place_phone = models.CharField(max_length = 60) place_official_site = models.URLField(max_length = 255, blank = True) place_country = models.ForeignKey(Country) place_city = models.ForeignKey(City) place_type = models.ForeignKey(PlaceType) class Meta: db_table = 'place' unique_together = (('place_name', 'place_street'))
Дропаю БД\удаляю папку миграций
Если делаю согласно последовательности, как в туториале, т.е.:
1) manage.py migrate
2) makemigrations app_place
3) manage.py migrate
то получаю ошибку: django.db.utils.ProgrammingError: relation “cities” already exists
Если же, опять дропаю БД\удаляю папку миграций и делаю:
1) makemigrations app_place
2) manage.py migrate
То ошибки никакой нету.
Если к этому добавить:
3) внести какие то изменения в модель
4) makemigrations app_place
5) manage.py migrate
Опять выскакивает ошибка
Не могу понять, почему выскакивает ошибка?
Едит:
Экспериментально узнал, что это как то связано с
class Meta:
db_table = ‘city’
Но как - пока еще загадка.