Django-複数のデータベースの値にアクセスする

ジェシカチェンバーズ

オブジェクト(Device)が1回だけ保存され、1つのデータベースにのみ保存されることを確認する必要があります。

私はいくつかのPostGreSQLデータベースを持っています:

                                       List of databases
             Name              | Owner | Encoding |  Collate   |   Ctype    | Access privileges 
-------------------------------+-------+----------+------------+------------+-------------------
 admin                         | admin | UTF8     | en_US.utf8 | en_US.utf8 | 
 postgres                      | admin | UTF8     | en_US.utf8 | en_US.utf8 | 
 reference                     | admin | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0                     | admin | UTF8     | en_US.utf8 | en_US.utf8 | =c/admin         +
                               |       |          |            |            | admin=CTc/admin
 template1                     | admin | UTF8     | en_US.utf8 | en_US.utf8 | =c/admin         +
                               |       |          |            |            | admin=CTc/admin
 workspace_A                   | admin | UTF8     | en_US.utf8 | en_US.utf8 | 
 workspace_B                   | admin | UTF8     | en_US.utf8 | en_US.utf8 | 
 workspace_C                   | admin | UTF8     | en_US.utf8 | en_US.utf8 | 
 workspace_D                   | admin | UTF8     | en_US.utf8 | en_US.utf8 | 

ワークスペースA、B、C、およびDにはすべてdevices_device、ID、名前、およびその他のフィールドを含むと呼ばれるテーブルがあります。

DeviceDjangosave()関数を上書きして)保存するときにDevice、同じパラメーターを持つがまだ存在していないことを確認するために、どの関数を呼び出す必要がありますか?

これは私が現在概説しているものであり、使用する関数がわからないところに疑問符が付いています

def save(self, *args, **kwargs):
    for tab in ?.objects.all():
        if tab.object.using('devices_device')? == self.device_reference
        and ?.device_name == self.device_name
        and  ?.device_address == self.device_address
        and  ?.device_position== self.device_position
        and  ?.device_desciption == self.device_desciption:
            raise ValidationError(
                "This device already exists in another workspace!"
            )
    super().save(*args, **kwargs)
エンドレ両方

最初の明らかな免責事項:コードに固有の制約を課すことは、混乱と低パフォーマンスのレシピです。それがRDBMSの目的です(そしてあなたはそれらのいくつかを持っています:)。

もちろん、デバイスが保存されているすべてのデータベースをループして、一致するデバイスの存在を確認することもできます。これを機能させるには、各データベースをに含める必要がありますsettings.DATABASES

from django.conf import settings

for db in settings.DATABASES:
    if YourModel.objects.using(db).filter(
        # add your filter conditions here
    ).exists():
        raise ValidationError(
            "This device already exists in another workspace!"
        )            

Djangoのドキュメントにある複数のデータベースの役立つイントロをすでに読んでいると思います

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Django-mySQLデータベース内の既存のデータにアクセスする

分類Dev

Django AJAX:動的な複数のフォームからデータにアクセスする

分類Dev

Django:サードパーティのアプリデータベースにアクセスする

分類Dev

djangoの別のホストからデータベースにアクセスする

分類Dev

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

分類Dev

データベースルーター内のmigrateコマンドdjangoで指定されたデータベースにアクセスする

分類Dev

Djangoの完全なデータベースにアクセスできる検索を実装する方法

分類Dev

SQLiteを使用したDjangoデータベースアクセスAPIの設定に関する問題

分類Dev

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

分類Dev

Django:テストデータベースにアクセスする方法は?

分類Dev

データベースdjangoに個別の値を保存する

分類Dev

オブジェクトの属性にアクセスすると、Djangoはデータベースにアクセスしますか?

分類Dev

Djangoテンプレートとrender()-複数の値にアクセスする方法

分類Dev

Djangoの順序を維持するmysqlデータベースの単一のフィールドに複数の値を格納する

分類Dev

間違ったパスワードはdjangoのデータベースにアクセスできます

分類Dev

ログイン時に複数のデータベースDjango

分類Dev

djangoアプリで1つのキーワードベースのデータセットへの複数のログインアクセスを許可する方法

分類Dev

他のデータにアクセスするDjangoフォーム

分類Dev

Django:モデルのメタクラス値にアクセスする

分類Dev

Djangoで、デコレータ関数のリクエストオブジェクトに値を設定し、デコレート関数のリクエストオブジェクトから値にアクセスする方法

分類Dev

Django-複数のデータベース-データ移行

分類Dev

ボタンの値をdjangoのデータベースに保存する方法は?

分類Dev

Djangoデータベースマッパーの複数のテーブルにまたがるオブジェクトをフィルタリングする

分類Dev

Djangoモデルのスーパークラスにアクセスする

分類Dev

同じプロジェクトでDjangoの他のアプリからデータベースにアクセスする方法

分類Dev

Djangoを使用してデータベースリストビューから単一のオブジェクトにアクセスする

分類Dev

Django-データベース列の値を毎日自動的に0にリセットする方法は?

分類Dev

Djangoデータベースにすでに保存されている複数のフィールドでオブジェクトを更新する方法

分類Dev

SingleGoでDjangoデータベースに複数のエントリを追加する

Related 関連記事

  1. 1

    Django-mySQLデータベース内の既存のデータにアクセスする

  2. 2

    Django AJAX:動的な複数のフォームからデータにアクセスする

  3. 3

    Django:サードパーティのアプリデータベースにアクセスする

  4. 4

    djangoの別のホストからデータベースにアクセスする

  5. 5

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

  6. 6

    データベースルーター内のmigrateコマンドdjangoで指定されたデータベースにアクセスする

  7. 7

    Djangoの完全なデータベースにアクセスできる検索を実装する方法

  8. 8

    SQLiteを使用したDjangoデータベースアクセスAPIの設定に関する問題

  9. 9

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

  10. 10

    Django:テストデータベースにアクセスする方法は?

  11. 11

    データベースdjangoに個別の値を保存する

  12. 12

    オブジェクトの属性にアクセスすると、Djangoはデータベースにアクセスしますか?

  13. 13

    Djangoテンプレートとrender()-複数の値にアクセスする方法

  14. 14

    Djangoの順序を維持するmysqlデータベースの単一のフィールドに複数の値を格納する

  15. 15

    間違ったパスワードはdjangoのデータベースにアクセスできます

  16. 16

    ログイン時に複数のデータベースDjango

  17. 17

    djangoアプリで1つのキーワードベースのデータセットへの複数のログインアクセスを許可する方法

  18. 18

    他のデータにアクセスするDjangoフォーム

  19. 19

    Django:モデルのメタクラス値にアクセスする

  20. 20

    Djangoで、デコレータ関数のリクエストオブジェクトに値を設定し、デコレート関数のリクエストオブジェクトから値にアクセスする方法

  21. 21

    Django-複数のデータベース-データ移行

  22. 22

    ボタンの値をdjangoのデータベースに保存する方法は?

  23. 23

    Djangoデータベースマッパーの複数のテーブルにまたがるオブジェクトをフィルタリングする

  24. 24

    Djangoモデルのスーパークラスにアクセスする

  25. 25

    同じプロジェクトでDjangoの他のアプリからデータベースにアクセスする方法

  26. 26

    Djangoを使用してデータベースリストビューから単一のオブジェクトにアクセスする

  27. 27

    Django-データベース列の値を毎日自動的に0にリセットする方法は?

  28. 28

    Djangoデータベースにすでに保存されている複数のフィールドでオブジェクトを更新する方法

  29. 29

    SingleGoでDjangoデータベースに複数のエントリを追加する

ホットタグ

アーカイブ