Я нашел интересное поведение в механизме syncdb djangos, поскольку в прошлый раз я попытался синхронизировать свою базу данных для нового развертывания.Ошибка Django syncdb с круговой ссылкой в абстрактных моделях
У меня есть два приложения alphabet
и core
, где ядро хранит большинство моих моделей. Теперь я создал новую абстрактной модели в алфавите с кодом, как:
class Compare(models.Model):
percentage = FloatField(default=0)
speakers = IntegerField(default=Speaker.objects.count())
class Meta:
abstract = True
и ссылающейся моделью ядра приложения:
class Speaker(models.Model):
language = CharField(max_length=300)
Когда я пытаюсь синхронизировать базу данных с SyncDB команда не работает с ProgrammingError
, потому что таблица core.speaker не существует.
Почему syncdb даже проверяет абстрактные модели? Как я могу решить эту циркулярную ссылку в моем проекте?
(я использую Django 1.6, кстати)
безупречный! Огромное спасибо. – BlueSapphire