私はこのコードを持っています
class DistrictResource(ModelResource):
model=models.District
res_name="district"
class Meta:
queryset = self.model.District.objects.active()
self.model
self を使用するとエラーが発生するため、meta で使用するにはどうすればよいですか
あなたが使用する必要があります
queryset = models.District.objects.active()
それ以外の
queryset = self.model.District.objects.active()
この場合。
編集:
Pythonのスコープ解決のルールのため、内部クラス内にアクセスすることはできません。res_name
ブロックは、ユニットとして実行されるPythonプログラムテキストの一部です。ブロックは次のとおりです。モジュール、関数本体、およびクラス定義。
スコープは、ブロック内の名前の可視性を定義します。
クラスブロックで定義されている名前の範囲は、クラスブロックに限定されています。メソッドのコードブロックには拡張されません。関数スコープを使用して実装されるため、ジェネレーター式が含まれます。
Pythonスコープの解決について覚えておくのが簡単なルールは、LEGBルールです。
L.ローカル、つまり関数内で割り当てられた名前。
E.ローカル関数を囲みます。
G.グローバル
B.ビルトイン。
class Meta
Django / Tastypieがメタクラスを使用してクラスを構築するときに、構成オプションとして使用されます。変数を内部で定義するのではなく、Meta
内部から外部の変数にアクセスする理由がわかりません。Meta
Meta