私はDjango1.9を使用してコードベースに取り組んでおり、1.10にアップグレードする準備をすべて整えるのに忙しいです。
python socialauthからpythonsocial auth app djangoに移行した後、問題が発生しました。見つかった手順を使用しましたここに
設定とURLファイルを更新した後、以下のエラーが発生しました。誰かが私がこれを回避する方法を知っていますか?
Running migrations:
Rendering model states... DONE
Applying social_django.0006_partial... OK
Applying social_django.0007_code_timestamp... OK
Applying social_django.0008_partial_timestamp... OK
Applying social_django.0009_auto_20191118_0520...Traceback (most recent call last):
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: column "modified" contains null values
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 200, in handle
executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/migrations/executor.py", line 92, in migrate
self._migrate_all_forwards(plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/migrations/executor.py", line 121, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/migrations/executor.py", line 198, in apply_migration
state = migration.apply(state, schema_editor)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/migrations/migration.py", line 123, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/migrations/operations/fields.py", line 62, in database_forwards
field,
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 396, in add_field
self.execute(sql, params)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/backends/base/schema.py", line 110, in execute
cursor.execute(sql, params)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/backends/utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/home/brendan/venvs/social/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: column "modified" contains null values
ソーシャル認証アプリdjangoの下位バージョンにダウングレードすることで、これを克服することができました。 Django 1.9で入手できた最新バージョンは、social-auth-app-django == 3.1.0でした。
私はまったく同じ問題にぶつかった。 ((
pip install "python-social-auth==0.2.21"
->設定social.apps.django_app.default
にINSTALLED_APPS
->python manage.py migrate
->pip install python-social-auth[django]
->設定social_django
にINSTALLED_APPS
->python manage.py migrate
=column "modified" contains null values
)。これは、モデルと移行ファイルの変更との間の競合のようです。例えば。ここから:
django.db.utils.IntegrityError:列 "venue_city"にnull値が含まれています
Looks like you added null=True after created migration file
追加することでこのエラーを乗り越えました
null=True
にmodified
のフィールド/usr/local/lib/python2.7/site-packages/social_django/migrations/0009_auto_20191118_0520.py
(またはsocial_djangoがインストールされている場所)および移行の再実行。migrations.AddField( model_name='usersocialauth', name='modified', - field=models.DateTimeField(auto_now=True), + field=models.DateTimeField(auto_now=True, null=True), ),
関連記事
- Go-GORMを使用して弱いエンティティで重複する列エラーを解決するにはどうすればよいですか?
- エラーORA-00998:この式に列エイリアスを指定する必要があります
- すべての行に作成サービスフィールドがあるcontains条件に基づいてパンダの列値を変更するにはどうすればよいですか?
- R-列に特定の番号の先頭が含まれている行のみに関連する列値を更新するにはどうすればよいですか?
- サブクエリでクエリの列を使用するとMySQLエラーが発生する
- 日付を含むcsvの列をJSONに正しく変換する方法
- サブクエリは、SQLスクリプトを実行しようとしたときに発生する1つの列エラーのみを返す必要があります
- SQLで列を追加するときにエラーが発生しました
- 列範囲には集計関数が含まれていますが、CASE、配列、構造体を使用する場合、GROUPBYでは使用できません。
- c#のインデックス範囲外エラー、「列0が見つかりません」
- DjangoAdminで多対多モデルのすべてのフィールドを表示するにはどうすればよいですか?
- このDjangoサンプルアプリケーションでセッション変数を出力できないのはなぜですか?
- 外部キーを介して接続された別のモデルのフィールドを使用してDjangoフィルターデータ
- Djangoモデルフォームベースのシステムをサインアップ用の生のHTMLベースのフォームシステムに変換します
- Djangoで1対1のテーブルフィールド値にアクセスする
- DetailViewを介してURLパスを作成しようとしていますが、HTMLページで重複する値を取得しています
- Djangoのデフォルトのモデルフォームを使用せずに、Djangoの同じページで複数のフォームを処理する
- Django:フォームが無効な場合にフォームがリセットされないようにする
- Djangoは同じファイルでNameERRORをモデル化しますか?
- djangoチャネルを使用してPython36からPython37にアップグレードする際のSynchronousOnlyOperationエラー
これは通常、モジュールをアップグレードし、新しいモジュールのモデルに新しい制約がある場合に発生します。
1つの方法は、エラーの原因となっているインスタンスのみを削除することです。このために、移行フォルダに移動し、持っているファイルを手動で削除します
0009_auto_20191118_0520
名前の種類、おそらくすべてを削除できますが、0001_initial.py file
。その後実行python ./manage.py make migrations social_django
、データベースを更新する必要があります。cmdを使用してsocial_djangoアプリの移行履歴をクリアすることも検討できます
これを行う方法については、こちらのチュートリアルに従ってください。
編集: これを克服するには、ソーシャル認証アプリdjangoの下位バージョンにダウングレードします。 Django 1.9に到達するための最新バージョンは、social-auth-app-django == 3.1.0でした。