簡體   English   中英

OperationalError:表“ django_session”已存在

[英]OperationalError: table “django_session” already exists

我已經應用了所有可以找到的解決方案,但是仍然出現操作錯誤,並且在運行項目時也會出現如下錯誤:

您有1個未應用的遷移.....

我已經應用了所有遷移。

我嘗試了以下解決方案:

  1. 刪除遷移目錄下除init.py之外的所有文件(成功)
  2. 運行$python manage.py makemigrations <appname> (成功)
  3. 運行$python manage.py sqlmigrate <appname> 001 (成功)
  4. 運行$python manage.py migrate (失敗:操作錯誤)

由於第4次失敗,我在執行項目時得到了一份遷移聲明

我該怎么辦?

下面是我的代碼:

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)刪除數據庫並再次創建它,或者刪除表django_migrations中的所有條目,然后重試遷移。

您正在嘗試在已創建的數據庫字段上應用遷移。 您可以運行migration --fake命令,但就您而言,似乎您有多個遷移要遷移。 首先,通過創建當前數據庫的備份來刪除它。 現在輸入

python manage.py makemigrations app_name

至此,您已經創建了遷移文件,輸入以下命令,

python manage.py migrate

這應該已經解決了您的遷移問題。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM