私はdjangoとpostgresqlを使っています。 psqlを見てデータベースとテーブルのスキーマを見ているうちに、外来キーの制約はほとんどの場合、modelname__field_id_hexnum_fk_basemodel_field_id
という名前になっていますが、場合によってはハッシュです。 D19cb71bc44206c3464da32ad943c8f8
。なぜこれが起こるのですか?制約名の長さやその他の要因が原因ですか?舞台裏psql:ForeignKey制約名
0
A
答えて
0
たぶん同じロジックとして、多対多の関係の仲介がテーブルに参加?...
https://docs.djangoproject.com/en/2.0/ref/models/fields/
、Djangoは仲介が にテーブルを結合作成する - 多くの多くの-表します関係。既定では、このテーブル名 は、多対多フィールドの名前とそれを含むモデルのテーブル の名前を使用して生成されます。一部のデータベースでは特定の長さを超えるテーブル名をサポートしないため、これらのテーブル名は自動的に64文字に切り捨てられ、一意性ハッシュは が使用されます( )。
関連する問題
- 1. OCaml:署名の型制約
- 2. ユニーク制約の命名規則
- 3. 制約レイアウト変更制約をプログラム
- 4. 制約
- 5. 制約
- 6. 制約
- 7. 制約
- 8. 制約
- 9. 制約
- 10. oracleデータベースの列名による制約名の取得
- 11. MVCルーティング制約
- 12. Oracleの制約
- 13. チェック制約
- 14. チェック制約
- 15. パラメータの制約
- 16. 制約をオーバーライド
- 17. Symfonyの制約
- 18. 制約レイアウト
- 19. 制約エラー
- 20. PIP制約ファイル
- 21. ユニーク制約
- 22. チェック制約
- 23. Pythonパルプ制約
- 24. NULL制約は
- 25. FactoryGirl - ユニーク制約
- 26. カスタムバリデータ制約3
- 27. ジェネリック制約
- 28. カーディナリティ制約は
- 29. ジャンゴユニーク制約が
- 30. 制約レイアウトtextview