База данных geonames имеет две модели, которые ссылаются друг на друга. В базе данных postgres ссылка предоставляется отношениями с внешними ключами. Проблема заключается в записи данных в базу данных - запись в одну таблицу без указания ссылочного идентификатора в другой таблице нарушает внешний ключ.Импорт базы данных geonames в postgres для проекта django - проблема с ограничениями внешних ключей
Class Geoname
id = IntegerField(primary_key=True)
admin_1 = foreignkey('Admin1', null=True, db_index=True)
Class Admin1
country = models.ForeignKey(Country, db_index=True)
geoname = models.ForeignKey(Geoname, related_name="admin1_set", db_index=True)
Есть ли способ для записи в базу данных Postgres с этой схемой, избегая нарушения внешних ключа контрсил?
Если нет, я думаю, что возможное решение может состоять в том, чтобы удалить admin_1 из класса geoname, но будет ли django по-прежнему искать на geoname.admin1_set? Помните, что данные записываются непосредственно в базу данных без ORM - я думаю, что обратные отношения - это то, что создается ORM django - я не знаю, как они представлены на уровне базы данных).
Спасибо за совет! Это чужой код, который я пытаюсь выяснить - я не был уверен, что циклические отношения были в порядке или даже возможны! –