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")
这样就可以避免相应的问题了。
解决方案也比较简单不要直接引用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")
这样就可以避免相应的问题了。
相关文章推荐
- objective-c 交叉引用问题的解决方案
- objective-c 交叉引用问题的解决方案
- Python模块的交叉引用问题
- ASP.Net 类库引用文件路径问题及解决方案
- 关于Latex中交叉引用表格时标号不对的问题解决
- Linux系统Eclipse CDT引用动态库(第三方库)的解决方案及问题
- Django:关于ForeignKey需要default specified问题的解决方案
- 一个解决方案对dll的引用要注意的问题
- 关于vs2012解决方案中项目DLL文件引用问题
- Resource文件的相互引用与合并问题及其解决方案
- 引用外部js乱码问题分析及解决方案
- Bluehost 主机部署Django网站时MemoryError at / No exception supplied问题及解决方案
- PHP解决引用路径和重复引用文件已经其中的HTML代码的路径问题的终极解决方案
- python模块交叉引用问题
- 引用 commons.net包中的FTPClient.listFiles()方法返回null的问题及其解决方案(转)
- c++智能指针循环引用带来的问题及解决方案
- VS解决方案中引用子工程命名空间中的函数无法识别的问题
- 在vs2010中可以很方便的打包桌面程序和同一解决方案中一个项目引用另外一个项目的问题
- VS 2010 的 无法调试引用的类库项目(DLL)问题(生成下面的模块时,启用了优化或没有调试信息) 解决方案
- 关于Qt交叉编译过程中出现的collect2: ld returned 1 exit status问题的解决方案