问题描述
我正在尝试在我的models.py文件中创建外键.但是在运行python manage.py migrate命令时,出现以下错误,以前一切正常.即使我撤消了所有更改,它仍然给出相同的错误,我也尝试删除我的数据库,但没有任何效果.
I am trying to make foreign key in my models.py file. But on running python manage.py migrate command i got the below error, previously every thing was fine. Even i have undo all my changes it still giving same error,I have also tried deleting my database but nothing works.
Applying mutech.0004_sub_branch...Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/rahul/mydjangoapp/jango/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
.
.
.
.
.
File "/home/rahul/mydjangoapp/jango/local/lib/python2.7/site-packages/django/db/models/fields/related.py", line 1414, in resolve_related_fields
raise ValueError('Related model %r cannot be resolved' % self.rel.to)
ValueError: Related model u'mutech.branch' cannot be resolved
django.db导入模型中的
from django.db import models
class branch(models.Model):
branch_title = models.CharField(max_length=50)
def __unicode__(self): # __str__ on Python 3
return str(self.branch_title)
class project(models.Model):
project_title = models.CharField(max_length=50)
project_image = models.ImageField(upload_to="images")
project_desc = models.CharField(max_length=200)
project_duration = models.CharField(max_length=50)
branch = models.ForeignKey(branch)
def __unicode__(self): # __unicode__ on Python 2
return str(self.project_title)
django.shortcuts中的
from django.shortcuts import render, get_object_or_404, render_to_response
from django.http import HttpResponse, HttpResponseRedirect
from mutech.models import *
def project_info(request):
project_list = project.objects.all()
branch_list = branch.objects.all()
context = {'project_list':project_list , 'branch_list':branch_list }
return render(request, 'mutech/project.html', context)
def project_branch_info(request):
branch_list = branch.objects.all()
context = {'branch_list':branch_list }
return render(request, 'mutech/project_branch_info.html', context)
推荐答案
对我有用的解决方案是完全删除我的迁移文件夹和数据库,然后再运行以下命令-
The solution which worked for me is to delete my migrations folder and database completely thereafter running following commands-
python manage.py migration
python manage.py migrate
因为这个错误是由于外键放错了位置而发生的,所以即使撤消更改后我仍然会收到错误消息.
because this error occured to me due to some misplacement of foreign key, and I was getting the error even after undoing the changes.
我们正在删除应用程序中的迁移文件夹,因为实际问题出在该文件夹上,并且迁移文件夹中没有任何特殊问题,它将使用运行命令- python manage.py的model.py文件重新创建移民.解决方案就是删除迁移"文件夹,然后使用命令重新创建它.
We are deleting the migration folder in the app because the actual problem is with that folder and there is nothing special in migration folder and it will be recreated using your model.py file running the command -python manage.py makemigrations. The solution is just to delete the Migration folder and recreate it using commands.
那你必须做什么-
- 从应用程序中删除迁移文件夹.
- 运行命令 python manage.py makemigrations ,然后运行 python manage.py migration
- Delete migration folder from the app.
- Run the commands python manage.py makemigrations and then python manage.py migrate
这篇关于ValueError:相关模型u&#39; mutech.branch&#39;无法解决的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!