2017-09-01 72 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

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