1. 程式人生 > 實用技巧 >django執行遷移檔案報錯struct.error: unpack requires a buffer of 4 bytes

django執行遷移檔案報錯struct.error: unpack requires a buffer of 4 bytes

問題:

我使用的版本說明

      django:2.2版本
      djangorestframework:3.11版本
      python3.6版本

解決

查了下資料,沒有很詳細的說明,我是因為需要使用django中的自帶的User模型,需要配置AUTH_USER_MODEL,但是我不是第一資料庫遷移的時候就配置了這個,所以我需要把所有是表刪了,而且要把所有的遷移檔案刪了,再重新執行python manage.py makemigration跟migrate,但是執行makemigrations的時候出現了這個錯誤,找了半天都沒有相同的問題,有一個大概是跟我差不多,但是它是換了djangorestframework的版本解決了,我試著也照他說的覆蓋版本,但是沒用。然後找了個大概相似的問題,看了下解決辦法,試了了,成功了。

      解決辦法:
      第一種辦法:把settings.py檔案中的USE_I18N改為False再執行遷移,就可以了。具體是什麼原因我也不清楚,因為我看別人的視訊中3.7版本跟django2.2這樣做的時候不會報這種錯誤。
      第二種辦法:重新建立virtualenv環境,這個暫時沒有試過,如果第一種辦法沒有解決的,可以嘗試下第二種辦法。
                  

大概相似問題的解決辦法連結

相關解決連結