私はPythonを初めて使用するので、この質問には簡単に答えられるはずです。
単純化された私の問題はこれです...
ファイルクラスAとクラスBに2つのクラスがあります。クラスAはファイルで最初に定義され、クラスBは2番目に定義されます。
class A
...
class B
...
クラスAでクラスBにアクセスするにはどうすればよいですか?
class A
something = B
class B
somethingElse = A
これが私が修正しようとしている実際のコードです
class FirstResource(_ModelResource):
class Meta(_Meta):
queryset = First.objects.all()
resource_name = 'first'
allowed_methods = ['get','put']
filtering = {
'a': ALL_WITH_RELATIONS,
'b': ALL_WITH_RELATIONS,
'c': ALL_WITH_RELATIONS,
}
ordering = ['apt']
# this is the line that would fix everything
second = fields.ForeignKey(SecondResource, 'second', null=True, blank=True, default=None, full=True)
...
class SecondResource(_ModelResource):
class Meta(_Meta):
queryset = Second.objects.all()
resource_name = 'second'
execute_methods = ['get', 'post']
filtering = {
'name': ['exact'],
'leader': ['exact'],
}
super = fields.ForeignKey(FirstResource, 'super', null=True, blank=True, default=None, full=True)
leader = fields.ForeignKey(FirstResource, 'leader', null=True, blank=True, default=None, full=True)
...
Pythonで事前に宣言していないので、この問題を解決する方法が本当にわかりません。models.pyのFirstにはSecondのForeignKeyがあり、SecondにはFirstの2つの外部キーがあります。
BもAを必要とするため、AをBの下に移動しても問題は解決しません。単に修正しようとしているコードを記述していません。リソースに対して「get」を実行するときに「2番目の」外部キーを戻す必要があります。両方のクラスで。