Получите Сериализатор Django Косвенно - PullRequest
0 голосов
/ 18 мая 2018

У меня проблема с круговой зависимостью.Во избежание того, что я использую

apps.get_model('ModelName')

Есть ли способ получить класс сериализатора таким же образом?

1 Ответ

0 голосов
/ 18 мая 2018

проект

  • приложение
    • модели
    • просмотры
    • сериализаторы
    • задачи
    • app_urls
    • настройки
    • URL-адреса
    • и т. Д. И т. Д. *

models.py:

from .tasks import taskA
class Bag():
    ...

sender=Bag
def bag_signal():
    taskA()

просмотров:

from .models import Bag
from .serializers import BagSerializer

class BagViewset(ModelViewSet):
    model = Bag
    serializer = BagSerializer

сериализатор:

from .models import Bag
class BagSerializer(ModelSerializer):
def meta:
    model = Bag

def validate():
    **validation stuff

Задачи:

from django.apps import apps
def taskA():
    model_name = apps.get('app', 'model_name')
    model.objects.create(**data)
    # wanna call serializer's validate and save it through serializer.save()
...