Django:複数のデータベースを使用する方法は?

ジュリアン・メルツ

Djangoを使用してWebサイトを構築していますが、UserモデルにGPS座標属性が必要です。

PostgreSQLを必要とするGeoDjangoを使用します。私のウェブサイトは、すでにsqlite3デフォルトデータベースを使用しているため、プロジェクトにPostgreSQLデータベースをインストールして、Coordinatesモデルを作成しUser、SQLiteのモデルにリンクする必要があります。データベース。

インターネット上で「複数のデータベースの使い方」に関するチュートリアルをたくさん見つけましたが、それらはすべて非常に基本的なものです。私はDjangoとWebプログラミングにまったく慣れていないので、複数のデータベースに関する詳細なチュートリアルが必要です。いくつか質問がありますが、1つ以上お答えいただければ幸いです。

注:WindowsのubuntuアプリとともにPostgreSQLがインストールされたWindows10を使用しています。

1)Djangoプロジェクトで新しいデータベースのファイルを作成して初期化するにはどうすればよいですか?ファイルdb.sqlite3はDjangoプロジェクトの初期化で自動的に作成されたので、どうすれば別のファイルを作成できますか?

2)GPS座標に新しいアプリを使用する必要がありますか、それとも既存のアプリを使用できますか?

3)OneToOne自分のUserモデルとCoordinates他のデータベースにあるモデルとの関係をどのように作成できますか?

ジョン・ムタフィス

@NalinDobhalがコメントで言及しているように:

データベース間の関係

Djangoは現在、複数のデータベースにまたがる外部キーまたは多対多の関係をサポートしていません。ルーターを使用してモデルを異なるデータベースに分割した場合、それらのモデルによって定義された外部キーと多対多の関係は、単一のデータベースの内部にある必要があります。

私が見ているように、2つのオプションがあります。

  1. SpatiaLiteインストールし、プロジェクトでSQLiteを引き続き使用して、既存のDBで空間タイプを有効にします(この問題については、文書化されたGeoDjangoの手順に従ってください
  2. 推奨される解決策:既存のSQLite DBをPostgreSQLに移行し、PostGISを有効にします。この記事では、これが好まれる理由と、Django介して正しく移行する方法について優れた記事を読むことができます

推奨されるプロセスの短編小説:

  • 既存のDBのDBダンプを作成します。

    python manage.py dumpdata > datadump.json
    
  • Djangoシェルに入り、既存のContentTypeデータを削除します

    python manage.py shell
    
    >>> from django.contrib.contenttypes.models import ContentType
    >>> ContentType.objects.all().delete()
    >>> quit()
    
  • ダンプファイルをPostgreSQLDBにロードします。

    python manage.py loaddata datadump.json
    

注:この移行プロセスは、SQLiteからPostgreSQLに固有であるだけでなく、DB間のほぼすべての移行(ATMについて知っています)で使用できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ebeanで複数のデータベースを使用する方法

分類Dev

Laravelで複数のデータベースを使用する方法

分類Dev

opencartで複数のデータベースを使用する方法は?

分類Dev

PHPを使用してデータベースに複数のデータを挿入する方法は?

分類Dev

マングースを使用して複数のmongodbデータベースを動的に接続する方法は?

分類Dev

1つのデータベースに複数のDBspaceを使用する方法はありますか?

分類Dev

cloudformation を使用して 1 つの RDS に複数のデータベースを作成する方法は?

分類Dev

JPAで複数のデータベースを接続する方法は?

分類Dev

データベースに複数の配列を挿入する方法は?

分類Dev

Dapper Extensionsを複数のデータベースにマップする方法は?

分類Dev

Axon Framework:複数のデータベースを構成する方法は?

分類Dev

Django-複数のデータベース間でデータを同期する

分類Dev

Firebaseデータベースで複数のorederbychildを使用するには?

分類Dev

複数のデータベース/接続を使用するEntityFramwork

分類Dev

peeweeで複数のデータベースを使用する

分類Dev

PonyORMで複数のデータベースを使用する

分類Dev

未知の変数を処理する方法または複数のデータベースを処理する方法

分類Dev

Androidで複数の言語のような複数のデータベースを使用する方法

分類Dev

複数のデータベースを使用したDjangoの移行

分類Dev

django複数データベースで例外を処理する方法

分類Dev

複数のデータをデータベースに挿入するには?

分類Dev

Djangoを使用して複数のチェックボックスでPOSTデータを保存する方法は?

分類Dev

Laravel:select2で複数のデータをmysqlデータベースに挿入する方法は?

分類Dev

複数のファイル入力でデータベースにデータを挿入する方法は?

分類Dev

複数の条件で値を計算する方法とデータベースを設計する方法は?

分類Dev

Javaで異なるデータベースに複数のデータベース接続を作成する方法

分類Dev

Django-javascript変数をDjangoデータベースに保存する方法は?

分類Dev

単一サーバー上の複数のデータベースでHibernateを使用する方法

分類Dev

単一サーバー上の複数のデータベースでHibernateを使用する方法

Related 関連記事

  1. 1

    ebeanで複数のデータベースを使用する方法

  2. 2

    Laravelで複数のデータベースを使用する方法

  3. 3

    opencartで複数のデータベースを使用する方法は?

  4. 4

    PHPを使用してデータベースに複数のデータを挿入する方法は?

  5. 5

    マングースを使用して複数のmongodbデータベースを動的に接続する方法は?

  6. 6

    1つのデータベースに複数のDBspaceを使用する方法はありますか?

  7. 7

    cloudformation を使用して 1 つの RDS に複数のデータベースを作成する方法は?

  8. 8

    JPAで複数のデータベースを接続する方法は?

  9. 9

    データベースに複数の配列を挿入する方法は?

  10. 10

    Dapper Extensionsを複数のデータベースにマップする方法は?

  11. 11

    Axon Framework:複数のデータベースを構成する方法は?

  12. 12

    Django-複数のデータベース間でデータを同期する

  13. 13

    Firebaseデータベースで複数のorederbychildを使用するには?

  14. 14

    複数のデータベース/接続を使用するEntityFramwork

  15. 15

    peeweeで複数のデータベースを使用する

  16. 16

    PonyORMで複数のデータベースを使用する

  17. 17

    未知の変数を処理する方法または複数のデータベースを処理する方法

  18. 18

    Androidで複数の言語のような複数のデータベースを使用する方法

  19. 19

    複数のデータベースを使用したDjangoの移行

  20. 20

    django複数データベースで例外を処理する方法

  21. 21

    複数のデータをデータベースに挿入するには?

  22. 22

    Djangoを使用して複数のチェックボックスでPOSTデータを保存する方法は?

  23. 23

    Laravel:select2で複数のデータをmysqlデータベースに挿入する方法は?

  24. 24

    複数のファイル入力でデータベースにデータを挿入する方法は?

  25. 25

    複数の条件で値を計算する方法とデータベースを設計する方法は?

  26. 26

    Javaで異なるデータベースに複数のデータベース接続を作成する方法

  27. 27

    Django-javascript変数をDjangoデータベースに保存する方法は?

  28. 28

    単一サーバー上の複数のデータベースでHibernateを使用する方法

  29. 29

    単一サーバー上の複数のデータベースでHibernateを使用する方法

ホットタグ

アーカイブ