Rah*_*tal 3 mysql database django django-models
我试图在models.py文件中创建外键.但是在运行python manage.py migrate命令时我得到了以下错误,以前每件事情都没问题.即使我已撤消所有更改它仍然给出相同的错误,我也尝试删除我的数据库,但没有任何作用.
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
Run Code Online (Sandbox Code Playgroud)
models.py文件 -
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)
Run Code Online (Sandbox Code Playgroud)
view.py文件是 -
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)
Run Code Online (Sandbox Code Playgroud)
对我有用的解决方案是完全删除我的迁移文件夹和数据库,然后运行以下命令 -
python manage.py makemigrations
python manage.py migrate
因为外键的一些错位导致我发生这个错误,甚至在撤消之后,这个错误也没有发生.
我们正在删除应用程序中的迁移文件夹,因为实际问题在于该文件夹,并且迁移文件夹中没有任何特殊内容,并且将使用运行命令的model.py文件重新创建它 - python manage.py makemigrations.解决方案是删除Migration文件夹并使用命令重新创建它.
所以你需要做的 -
注意:此后数据库中的数据将丢失,因此仅在数据不重要时才执行此操作.