Как получить имя исходной модели в запросе django? - PullRequest
0 голосов
/ 14 июля 2020

Я использую django restframework и получаю полный набор запросов при запуске в каждом представлении.

models.py

class MAccount(BasicModel):
    account_id = models.CharField(max_length=45, verbose_name='ID', null=False)
    ...

    class Meta:
        db_table = 'account'
        unique_together = ('account_id', 'medium',)
        ordering = ['-updated_time', '-created_time', '-id']
        app_label = 'account'

    def __str__(self):
        return "account"

CustomModelViewSet общее представление, которое я хочу сделать другим работать с другим названием модели в методе dispatch.

class CustomModelViewSet(viewsets.ModelViewSet):
    parser_classes = [JSONParser, ]
    pagination_class = Pagination
    # permission_classes = [IsAuthenticated, BaseDataPermission]


    def dispatch(self, request, *args, **kwargs):
        query_model = self.queryset.model
        print(str(query_model))
        #  how can I get model's name as account here ?

VSAccount указанный вид для фактической работы

class VSAccount(CustomModelViewSet):
    queryset = MAccount.objects.all().filter(active=True)

Мой вопрос: как я могу получить имя MAccount в dispatch метод в CustomModelViewSet?

1 Ответ

1 голос
/ 14 июля 2020

Попробуйте этот метод:

your_queryset.model.__name__

Но на самом деле вы можете посмотреть на поле self.action в классе представления. Он содержит строку с названием текущего действия

...