赞
踩
【运行环境】:
【问题描述】:如下图,我欲在operation
app的models中引用courses
app的models中的Course
。
部分代码如下:
# operation.models.py
from courses.models import Course
class UserCourse(models.Model):
course = models.ForeignKey('Course', verbose_name=u'课程', on_delete=models.CASCADE)
运行makemigrations
或者migrate
命令时报错如下:
【问题分析】:由错误显示可知,我们虽然在operation
app的models.py中引用了courses
app的models中的Course
,但其实程序并未识别,还是显示当前app没有提供Course
,上网查了半天,有的博客说是需要找到自己的/python3X/lib/site-packages/django/contrib/admin/migrations文件夹,把里面除了__init__.py的所有文件,尝试无果,遂自己分析原因。
【解决方案】:将以上代码修改成如下形式:
from courses.models import Course
class UserCourse(models.Model):
course = models.ForeignKey(to=Course, verbose_name=u'课程', on_delete=models.CASCADE)
【小结】:基于Django-2.1版本语法
①引用当前app的models的外键使用:
models.ForeignKey('self', on_delete=models.CASCADE)
①引用其他app的models的外键使用:
models.ForeignKey(to=self, on_delete=models.CASCADE)
关于on_delete
参数的用法详见官方文档on_delete篇。
【问题描述】:偶尔快捷键频繁运行Run manage.py Task
时报错如下:
【解决方案】:等待几秒钟,在PyCharm菜单栏的Tools选项卡中重新Run manage.py Task一下。原因不详~
【问题描述】:笔者在github试图clonexadmin
源码后引用到自己的django(2.0.7)项目中(直接pip太慢,等了10分钟都还在卡顿~),后运行项目时报错如下:
【解决方案】:删除之前下载的xadmin,并通过以下git命令把xadmin
clone到本地然后在引用即恢复正常。(适用于django-2.0.x)
$ git clone -b django2 https://github.com/sshwsfc/xadmin.git
这里给出我的云盘链接:https://pan.baidu.com/s/1Zm-Q-JX8P_fg291kyHV8Bw
提取码:g5ic
【问题描述】:在Django-2.0.7版本中的setting.py
文件中加入图片处理器后运行项目到目标页面时报错没有django.core.context_processors
模块。
# setting.py
'context_processors': [
...
# 添加图片处理器
'django.core.context_processors.media',
],
报错原图如下
网页报错如下:
【解决方案】:context_processors
在Django-1.9中是在core
里的,到2.0版本时放在template
目录下了。
将如下代码
'django.core.context_processors.media',
替换为
'django.template.context_processors.media',
【问题描述】:在Django-2.0.7版本中的项目文件夹中的urls.py
文件中使用include()
方法,配namespace命名空间参数,报错没有提供app名字。
【解决方案】:
在你引用的app文件夹下的organization\urls.py
,添加如下代码即可。
app_name = 'organization' # 我当前所用的app是organization
持续积累中。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。