django AUTH_USER_MODEL 錯誤


這個錯誤發生在django數據遷移的時候,(在第一次數據遷移以后,才設置AUTH_USER_MODEL自定義用戶模型,就會報這個錯)

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency account.0001_initial on database 'default'.

===================解決方案一 ================

首先 , 檢查配置文件中的 INSTALLED_APPS 是否被注釋,將它釋放,再次執行還報錯,試試第二種方案

 
        
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
...]

=================方案二==================
問題分析,你在配置中設置了 AUTH_USER_MODEL = 'user.User' (應用名.模型類名),擴展django自帶的user認證.
由於不是項目的第一次遷移,所以會產生此問題
,解決方案如下:

0. 先把現有的數據庫導出備份,然后清掉數據庫中所有的數據表。
1. 把開發者創建的所有子應用下面的migrations目錄下除了__init__.py以外的所有遷移文件,只要涉及到用戶的,一律刪除
2. 把django.contrib.admin.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。
3. 把django.contrib.auth.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。
4. 把reversion.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。
5. 把xadmin.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。
6. 接下來,執行數據遷移,回顧第0步中的數據,以后如果要修改用戶相關數據,不需要重復本次操作,直接數據遷移即可。
 
        

 =================bug三=======================

寫項目,以后一定記得嚴謹些, 一個項目對應一個專有的虛擬環境.

有時候也可能是你使用的虛擬環境的問題, 你需要確認, 這是否是該項目專有的虛擬環境, 就是說該even文件是否在你的項目中體現;

原因: 按照方案二刪完后, pycharm對於虛擬環境中新生成的文件,無法正常刷新出來,需要你重啟pycharm,得到刷新

=================xadmin的報錯問題=================

pip 安裝的2.0.1版本xadmin(我試驗的時候就是會出錯) 有很大幾率出錯

解決方案:

手動下載 https://codeload.github.com/sshwsfc/xadmin/zip/django2

解壓后, pip install -r requirements.txt,然后將解壓后的文件中的xadmin文件復制到項目的根目錄下。
在setting.py文件中,添加xadmin文件到注冊表,后面都是正常流程了

 

=================pillow模塊=================

若數據庫中使用ImageField屬性定義字段,需要安裝pillow模塊

 ==============ubuntu下安裝python-ldap=================

https://www.cnblogs.com/zhaoyunlong/p/10510631.html

今天安裝一個python-ldap  和ldap交互的模塊

首先安裝的時候會提示我們

compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

這就是典型的 缺少依賴

首先安裝

sudo apt-get install libldap2-dev

然后再安裝

sudo apt-get install libsasl2-dev

然后就可以繼續安裝你的python-ldap模塊了

======= windows下安裝django-auth-ldap========

pip install django-auth-ldap 時往往會出現如下錯誤,這是因為缺少系統插件

error: Microsoft Visual C++ 14.0 is required

解決方案:

百度網盤下載:https://pan.baidu.com/s/1pOocz2C6_6SBQ3fgA3D7Aw 密碼:4e98

下載 visualcppbuildtools+full.exe 程序, 安裝Visual

安裝完畢后,按照如下步驟安裝

# 根據電腦配置,下載python-ldap,例如我的是win10系統64位,python版本為36,則下載python_ldap-3.2.0-cp36-cp36m-win_amd64.whl
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap  

pip install python_ldap-3.2.0-cp36-cp36m-win_amd64.whl

pip install django==1.11.3
pip install django-auth==0.1.9
pip install django-auth-ldap==1.7.0

pip install -r  文件絕對路徑\requirements.txt

 ==============Git的多SSH Key解決方案=============

https://www.jianshu.com/p/95e00370fa2c


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM