您的位置:首页 > 编程语言 > Go语言

django models交叉引用问题的解决方案

2014-07-31 17:42 826 查看
项目中如果存在A model 中的属性引用了 B,B model的属性引用了A,那在项目启动时会出现model A无法导入的问题。

解决方案也比较简单不要直接引用model B,而是引用包名加类名就可以解决这个问题。

比如 model Rank的包名为rank,其中属性create_user 引用了 model Staff 

create_user = models.ForeignKey(Staff,verbose_name="创建用户",related_name="rank_create_by_me")

而model Staff中的属性 rank 需要 引用 Rank。

rank = models.ForeignKey(Rank,related_name="my_rank") 

这种引用方式在启动时Staff肯定会出现无法找到的错误,所以得用

rank = models.ForeignKey('rank.Rank',related_name="my_rank") 

这样就可以避免相应的问题了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: