簡體   English   中英

Django中的Python社交認證,makemigrations檢測不到任何變化

[英]Python social auth in Django, makemigrations detects no changes

我正在按照文檔在我的django項目上獲取python社會認證https://python-social-auth.readthedocs.org/en/latest/configuration/django.html

'social.apps.django_app.default',添加到我的settings.py中的INSTALLED_APPS之后我運行:

python manage.py makemigrations

我明白了

No changes detected

這個命令不應該做某事。 因為沒有這個,我無法遷移以創建auth所需的表。

編輯:

我也嘗試過這個命令,結果仍然得到了相同的結果

python manage.py makemigrations main

其中'main'是我的應用程序的名稱

今天我遇到了這個問題。 錯誤在文檔本身。

你應該直接運行$ python manage.py migrate 它在數據庫中創建表。

所有舊的教程都使用makemigrations ,我認為它是在早期版本的django中使用的。

我的答案將涵蓋一些基礎知識,以便輕松理解這類錯誤。

讓我在最新版本的Django中清楚一些關於遷移的基本術語(從1.7到開發版)。

在舊版本的Django中,One必須在模型中進行更改(最終在數據庫中),然后One必須使用South應用程序在數據庫中應用更改而不影響舊數據庫。

Django開發者社區在Django 1.7中和之后都包含了這個南方應用程序,並提供了一些簡單的命令來應用遷移。

當一個人安裝新應用程序(上面的問題場景)或者一個人在現有模型中進行更改並希望在數據庫中應用更改時,就必須告訴數據庫他們想要做出哪些更改。 要做到這一點,必須進行遷移,以下是命令。

$ python manage.py makemigrations app_name

或者如果它是初始的,則無需指定app_name,它將考慮所有應用程序。

此命令將生成遷移文件,其中將包含數據庫的說明,以指示哪些表以及該表的屬性是什么,表之間的關系是什么以及當前表中的更改等等。

現在必須在命令下運行才能在數據庫中應用此所有更改。

$ python manage.py migrate app_name

或者如果是初始,則無需指定app_name。

如果您有任何問題,請拍攝任何問題,請查看Django 關於遷移的官方文檔以獲取更多信息。

可能的原因是您的項目尚未使用任何“社交”應用程序的數據庫模型。 在您的urls.py添加網址,將其鏈接到“社交”網址。

到Django <1.8

INSTALLED_APPS ['social.apps.Django_appConfig',]

暫無
暫無

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

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