2017-09-01 66 views
0

我已经申请的所有解决方案,我能找到,但我仍然有操作错误,也当我运行项目它给错误,如:OperationalError:表“django_session中”已经存在

You have 1 unapplied migration(s).....

我已经申请所有迁移。

我试过这个解决方案:

  1. 删除迁移目录下的所有文件,除了init.py(成功)
  2. 运行$python manage.py makemigrations <appname>(成功)
  3. 运行$python manage.py sqlmigrate <appname> 001(成功)
  4. 运行$python manage.py migrate(失败:操作错误)

由于第四次失败,我在运行项目时收到了迁移声明

我该怎么办?

下面是我的代码:

urls.py

urlpatterns = [ url(r'^$', views.index,name='index'), url(r'.*signup/$' , views.signup.as_view(), name='signup'), ] 

models.py

class PatientSignup(models.Model): 
    Pname = models.CharField() 

forms.py

class PatientSignupForm(forms.ModelForm): 
    forms.CharField() # add other fileds 

views.py

class signup(TemplateView): 
    temp = 'personal/signup.html' 

    def get(self, request): 
     psform = PatientSignupForm() 
     data = PatientSignup.objects.all() 
     args = {'psform': psform, 'data': data} 
     return render(request, self.temp, args) 


    def post(self, request): 
     psform = PatientSignupForm(request.POST) 
     if psform.is_valid(): 
      psform.save() 
     cd = psform.cleaned_data 
     args = {'psform': psform, 'data': data} 
     return render(request, self.temp, args) 

模板代码:

<form method="post"> 
    { % csrf_token %} 
    <div> 
     {{psform.as_p}} 
     <button type="submit"/> 
    </div> 
</form> 
+0

请向我们展示您到目前为止所提供的代码。请举个最简单的例子。 –

回答

0

步骤0)删除数据库,然后再次创建或删除表中的django_migrations所有条目,并尝试再次迁移。

+1

第二个建议实际上是他如何进入这个堵塞,正如您可以通过帖子标题中出现的错误所看到的那样。这几乎没有好建议。如果清除django_migrations,则应清除所有模型表。这样做而不是删除数据库的唯一原因是Django不是数据库的唯一用户,因此删除数据库不是一个可行的选择。 – Melvyn

1

您正尝试在已创建的数据库字段上应用迁移。你可以运行迁移--fake命令,但就你而言,似乎你有多个迁移要迁移。首先,通过创建它的备份来删除你的当前数据库。现在,键入,

python manage.py makemigrations app_name 

此时,您已经创建迁移文件,输入以下命令,

python manage.py migrate 

这应该已经解决了您的迁移问题。谢谢

+0

是的...我解决了它...谢谢 –

+0

如果可以帮助你,你可以提高我的答案。 –