geonames數據庫有兩個互相引用的模型。在postgres數據庫中,引用是由外鍵關係提供的。問題在於將數據寫入數據庫 - 寫入到一個表中而沒有在另一個表中引用的ID違反了外鍵約束。將geonames數據庫導入到dgango項目的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數據庫,避免違反外鍵約束?
如果不是,我認爲可能的解決方案可能是從geoname類中刪除admin_1,但是django仍會繼續使用geoname.admin1_set?請記住,數據正在直接寫入數據庫而沒有ORM - 我認爲向後關係是由django ORM創建的 - 我不知道它們是如何在數據庫級別表示的)。
感謝您的建議!這是別人的代碼,我試圖找出 - 我不確定循環關係是否可以,甚至可能! – 2010-01-26 18:02:56