リソース

Resource

class import_export.resources.Resource

リソースは、オブジェクトがインポートおよびエクスポート表現にどのようにマップされ、データのインポートおよびエクスポートを処理するかを定義します。

after_delete_instance(instance, dry_run)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

after_export(queryset, data, *args, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

after_import(dataset, result, using_transactions, dry_run, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

after_import_instance(instance, new, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

after_import_row(row, row_result, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

after_save_instance(instance, using_transactions, dry_run)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

before_delete_instance(instance, dry_run)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

before_export(queryset, *args, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

before_import(dataset, using_transactions, dry_run, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

before_import_row(row, **kwargs)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

before_save_instance(instance, using_transactions, dry_run)

オーバーライドしてロジックを追加します。デフォルトでは何もしません。

delete_instance(instance, using_transactions=True, dry_run=False)

dry_run が設定されていない限り、instance.delete() を呼び出します。

export(queryset=None, *args, **kwargs)

リソースをエクスポートします。

for_delete(row, instance)

インスタンを削除する必要があるインポートする row があれば True を返します。

デフォルトの実装は False を返します。このメソッドを上書きして削除処理します。

get_diff_headers()

Diff representation headers.

classmethod get_error_result_class()

インポート結果のエラーを格納するために使われるクラスを返します。

classmethod get_field_name(field)

指定されたフィールドのフィールド名を返します。

get_fields(**kwargs)

export_order に従ってソートされたフィールドを返します。

get_instance(instance_loader, row)

Calls the InstanceLoader.

get_or_init_instance(instance_loader, row)

既存のインスタンスをフェッチするか、新しいインスタンスを初期化します。

classmethod get_result_class()

インポートの結果を格納するために使用されるクラスを返します。

classmethod get_row_result_class()

行のインポートの結果を格納するために使用されるクラスを返します。

import_data(dataset, dry_run=False, raise_errors=False, use_transactions=None, collect_failed_rows=False, **kwargs)

Imports data from tablib.Dataset. Refer to インポートデータのワークフロー for a more complete description of the whole import process.

パラメータ:
  • datasettablib.Dataset
  • raise_errors – エラーをエンドユーザーに表示するか、定期的にraiseするか。
  • use_transactionsTrue の場合、インポートプロセスはトランザクション内で処理されます。
  • collect_failed_rowsTrue の場合、インポートプロセスは失敗した行を収集します。
  • dry_rundry_run が設定されている場合、またはエラーが発生した場合、トランザクションが使用されている場合はロールバックされます。
import_field(field, obj, data)

Field.attributeField.column_namedata 内にある場合、import_export.fields.Field.save() を呼び出します。

import_obj(obj, data, dry_run)

このリソース内のすべてのフィールドをトラバースし、import_field() を呼び出します。

import_row(row, instance_loader, using_transactions=True, dry_run=False, **kwargs)

Imports data from tablib.Dataset. Refer to インポートデータのワークフロー for a more complete description of the whole import process.

パラメータ:
  • row – インポートする行の dict
  • instance_loader – 行をロードするために使用されるインスタンスローダー
  • using_transactionsusing_transactions が設定されている場合、トランザクションはインポートをラップするために使用されます
  • dry_rundry_run 設定されている場合、またはエラーが発生した場合、トランザクションはロールバックされます。
save_instance(instance, using_transactions=True, dry_run=False)

オブジェクトをデータベースに保存します。

これは instance.save() を呼び出すことによって行われるため、オブジェクトは一括して作成されません。

save_m2m(obj, data, using_transactions, dry_run)

m2mフィールドを保存します。

モデルインスタンスは、多対多リレーションシップを使用する前に主キー値を持つ必要があります。

skip_row(instance, original)

row のインポートをスキップする必要がある場合は True を返します。

デフォルトの実装は、skip_unchanged == True出ない限り False を返します。このメソッドを上書きして、特定の条件を満たす行のスキップを処理します。

ModelResource

class import_export.resources.ModelResource

ModelResourceは、Djangoモデルを扱うためのResourceのサブクラスです。

after_import(dataset, result, using_transactions, dry_run, **kwargs)

新しいオブジェクトのインポート後にSQLシーケンスをリセットします

classmethod field_from_django_field(field_name, django_field, readonly)

指定されたDjangoモデルフィールドのリソースフィールドインスタンスを返します。

get_import_id_fields()
get_queryset()

このモデルのすべてのオブジェクトのクエリーセットを返します。返されたクエリーセットを制限したい場合は、これを上書きします。

init_instance(row=None)

新しいDjangoモデルを初期化します。

classmethod widget_from_django_field(f, default=<class 'import_export.widgets.Widget'>)

それぞれのDjangoタイプに関連付けられる可能性のあるウィジェットを返します。

classmethod widget_kwargs_for_field(field_name)

指定されたfield_nameのウィジェットのkwargs引数を返します。

ResourceOptions (Meta)

class import_export.resources.ResourceOptions

内側のMetaクラスは、Resourceがどのように振舞うべきかのクラスレベルの設定を可能にします。以下のオプションが利用可能です:

exclude = None

リソースに含まれてはならないイントロスペクトされたフィールドを制御します。フィールドのブラックリストです。

export_order = None

列のエクスポート順序を制御します。

fields = None

リソースに含める必要があるイントロスペクトされたフィールドを制御します。フィールドのホワイトリスト。

import_id_fields = ['id']

既存のインスタンスを識別するために使用されるオブジェクトフィールドを制御します。

instance_loader_class = None

既存のオブジェクトの読み込みをどのクラスインスタンスが処理するかを制御します。

model = None

Django Modelクラス。使用可能なフィールドをイントロスペクションするために使用されます。

report_skipped = True

結果がスキップされた行をレポートするかどうかを制御します。デフォルト値はTrueです

skip_unchanged = False

インポートが変更されていないレコードをスキップするかどうかを制御します。デフォルト値はFalseです

use_transactions = None

インポートでデータベーストランザクションを使用するかどうかを制御します。デフォルト値は settings.IMPORT_EXPORT_USE_TRANSACTIONS が評価されることを意味する None です。

widgets = None

この辞書は、フィールドのウィジェットのkwarg引数を定義します。

modelresource_factory

resources.modelresource_factory(model, resource_class=<class 'import_export.resources.ModelResource'>)

指定されたDjangoモデルの ModelResource クラスを作成するためのファクトリです。