0
私はDjangoに抽象モデルを持っていて、それから2つのモデルが拡張されています。Django抽象モデル - 抽象ビューメソッドで特定のアクセスを実装する方法は?
Django Rest Frameworkの汎用ビューでは、2つの実装モデルのいずれかの作成をどのように制御できますか?
私のソリューションは以下の通りです:
from enum import Enum
from rest_framework.views import APIView
class BazType(Enum):
FOO = 1
BAR = 2
class AbstractView(APIView):
def __init__self():
#Init code here
def _internal_method(self, django_model, this_type = BazType.FOO):
if this_type == BazType.FOO:
record, created = ConcreteModelOne.objects.get_or_create(some_field = django_model)
elif this.type == BazType.BAR:
record, created = ConcreteModelTwo.objects.get_or_create(some_field = django_model)
それは動作しますが、もし/ elseブロックを取り除くための方法はありますか?言い換えれば、AbstractView
のサブクラスから、get_or_create
メソッド呼び出しに必要なモデルの識別子を渡す方法がありますか?