ValueError:相关模型u' mutech.branch'无法解决 [英] ValueError: Related model u'mutech.branch' cannot be resolved

查看:41
本文介绍了ValueError:相关模型u' mutech.branch'无法解决的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的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

models.py文件-

models.py file-

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)

view.py文件是-

view.py file is -

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 makemigrations

python manage.py makemigrations

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.

那你必须做什么-

  1. 从应用程序中删除迁移文件夹.
  2. 运行命令 python manage.py makemigrations ,然后运行 python manage.py migration
  1. Delete migration folder from the app.
  2. Run the commands python manage.py makemigrations and then python manage.py migrate

警告:此后数据库中的数据将丢失,因此仅当您的数据不重要时才执行此操作.

Caution: The data in the database will be lost after this, So perform this only if your data is not important.

这篇关于ValueError:相关模型u&amp;#39; mutech.branch&amp;#39;无法解决的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆