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