Django 中跨 app 创建外键、多对多引用的方法
问题描述
我的 Django 项目中有两个 app。
在 PersonalCenter app下的 models.py 下定义了一个 Footprint 类:

在 LoginAndRegister app 下的 models.py下的 User 类中,我想建立与 Footpint 的多对多关联:

如图所示,在文件头已经 import 了 Footprint 类,但是运行 makemigrations 命令后却出现错误,显示 Footprint 类找不到:
ERRORS:
LoginAndRegister.User.footprints: (fields.E300) Field defines a relation with model 'Footprint', which is either not installed, or is abstract.
LoginAndRegister.User.footprints: (fields.E307) The field LoginAndRegister.User.footprints was declared with a lazy reference to 'LoginAndRegister.footprint', but app 'LoginAndRegister' doesn't provide model 'footprint'.
LoginAndRegister.User_footprints.footprint: (fields.E307) The field LoginAndRegister.User_footprints.footprint was declared with a lazy reference to 'LoginAndRegister.footprint', but app 'LoginAndRegister' doesn't provide model 'footprint'.
解决办法
直接用 app名.类名 这种形式即可成功引用:

同理,跨 app 外键的引用也是如此。
Django 中跨 app 创建外键、多对多引用的方法的更多相关文章
- django中跨app引用model
可能是自己水平的原因,总感觉跨django中app引用有点怪怪的,所以在自己没有达到另一个级别之前就先把正确的解决 方案记一下吧. 一.django中跨app引用model,以app02中的model ...
- 为什么在MySQL数据库中无法创建外键?(MyISAM和InnoDB详解)
问题描述:为什么在MySQL数据库中不能创建外键,尝试了很多次,既没有报错,也没有显示创建成功,真实奇了怪,这是为什么呢? 问题解决:通过查找资料,每次在MySQL数据库中创建表时默认的情况是这样的: ...
- sql server2008如何创建外键
原文地址:http://blog.csdn.net/zuozuo1245/article/details/8644115 以前创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关 ...
- 在SQL Server 中创建外键
建外键的前提是此外键必须是另外一个表的主键. 建外键的步骤: 第一步打开要建外键表的设计器,右击选择“关系”. 然后弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮, 就会弹 ...
- Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)
目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...
- 使用Navicat连接数据库,不能创建外键
最近在学习python中遇到这样的情况,使用Navicat连接MySQL,为表结构创建外键时,出现了创建外键就消失,而且外键也没有创建成功的情况. 在网上找了些资料,最后发现是MySQL引擎的问题.由 ...
- sqlyog 可视化查看数据库关系并创建外键
+ 一个架构设计器,把表拖进来即可查看数据库关系 如果要建立外键,需要在两个要被建立的外键之间进行操作(经过验证不需要都为主键),然后从用鼠标把子外键拖到父外键中,就可以关联上了. 参考: https ...
- sql server创建外键,子母表,级联删除。
级联删除. 最近建一个合同关系,在原有的资产平台上添加维保合同关系,维保合同问题, 需要在后面添加资产的维保合同,使用ef,该添加的冗余字段都已经添加上了,现在做这个,删除的时候只删了主表提示出问题, ...
- sql创建外键
建立外键关系:先建主表再见从表:主表:create table zhu(code int parimary key,name varchar(20)) ;从表:create table cong(co ...
随机推荐
- Linux 系统的文件类型
Linux文件类型常见:普通文件.目录文件.字符设备文件和块设备文件.符号链接文件 1.1. 普通文件(-) ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个 ...
- 【解决方案】[XCUITest] WDA is not listening at 'http://localhost:8100/'
1. 使用Xcode 编译 WebDriver 发现端口为:serverurlhere->http://手机ip:0 <-serverurlhere 2. 解决方案: xcodebuild ...
- 相同数据源情况下,使用Kafka实时消费数据 vs 离线环境下全部落表后处理数据,结果存在差异
原因分析: 当某个consumer宕机时,消费位点(例如2s提交一次)尚未提交到zookeeper,此时Kafka集群自动rebalance后另一consumer来接替该宕机consumer继续消费, ...
- wooyun内网渗透教学分享之内网信息探测和后渗透准备
常规的,从web业务撕开口子url:bit.tcl.comgetshell很简单,phpcms的,一个Phpcms V9 uc api SQL的老洞直接getshell,拿到shell,权限很高,sy ...
- facebook页面种简单测试js调用flash开放的js接口的方法
无意间折腾出来的,此方法很triky,但是很简单有效. 背景说明: facebook种内嵌的iframe无法直接访问. 解决方法: chrome浏览器为例 1.右键查看iframe源代码,此时进入if ...
- python下操作redis
python安装这里我只介绍如何在Windows上安装redis,以及接下来的实践都是在Windows上进行的.在Windows上安装python的依赖库,常用的方法有两种,第一种是直接通过pip i ...
- C# winform 数据库操作知识点总结(干货)
1.数据库连接及操作 在说数据库操作之前,先说一下数据库连接操作字符串的获取 首先,点击服务器资源管理器,接下来选中数据连接右键点击添加连接,填入你要连接的服务器名称,点击单选框使用SQL Serve ...
- 解决 mongodb $in needs an array 问题
问题现象: 在mongodb执行批量查询操作时,抛出异常 Exception 2: $in needs an array. 问题解决: 感谢伟大的 google 和 stackoverflow 有人遇 ...
- virtualbox+vagrant学习-4-Vagrantfile-7-WinRM Settings
WinRM Settings 配置命名空间config.winrm config.winrm配置与如何通过winrm配置vagrant访问你的Windows客户相关.与大多数vagrant设置一样,默 ...
- robotframwork接口测试(四)—其他库的安装
怎么知道自己的RF已经有哪些库了,可以看python安装目录下Python27\Lib\site-packages这个文件夹,有的话就可以直接引入了. 没有的话,就安装了. 1. 命令安装:这种最方便 ...