В базе данных geonames есть две модели, которые ссылаются друг на друга. В базе данных postgres ссылка обеспечивается отношениями внешнего ключа. Проблема заключается в записи данных в базу данных - запись в одну таблицу без ссылки на идентификатор в другой таблице нарушает ограничение внешнего ключа.
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 - я думаю, что обратные отношения - это то, что создается django ORM - я не знаю, как они представлены на уровне базы данных).