LINUX.ORG.RU

получить название модели в наследуемом классе вьюхи

 ,


0

1
class Name1(Name2):
    queryser = Some.objects.all()
    serializer_class = 
    some_field = ['some_field1',]
  

class _Name2
    def update_data(self, request, data):
        ...

class Name2(mixins.ListModelMixin,viewsets.GenericViewSet,_Name2):
     def list(self, request, *args, **kwargs):
         # можно ли тут получить название модели и some_field, чтобы можно было передать эти данные в update_data?
         data = self.update_data(request, serializer.data)   
         
★★★★

Последнее исправление: bryak (всего исправлений: 3)

Ты хочешь странного, и риводишь странный и снитаксически некорректный код, но, если я тебя правильно понял, то self.get_queryset().model (через _meta можно получить имя, поля и прочее, если нужна такая абстракция) и self.some_field вернёт то, что тебе нужно.

Рекомендую перечитать доку django rest framework и посмотреть код каких-нибудь туториалов.

queryser = …

queryset.

serializer_class = Some.objects.all()

Справа находится queryset, а не serializer_class и это работать не будет.

grazor ★★
()
Ответ на: комментарий от grazor
print(self.get_queryset().model)

вернула имя класса, а не модель

<class 'apps.person.models.ProfilePerson'>

вернула поля

self.some_field

спасибо

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 3)
Ответ на: комментарий от bryak

имя класса, а не модель

<class ‘apps.person.models.ProfilePerson’>

Это и есть модель, а не его имя, точнее строковое представление этого класса, потому что ты делаешь print. То же самое выведется, если ты явно сделаешь print(ProfilePerson)

grazor ★★
()
Последнее исправление: grazor (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.