#python #django #django-rest-framework
Вопрос:
Я не могу передать запрос в views.py чтобы serializers.py.
Views.py
def academic(request): is_superuser = request.user.is_superuser getdata = is_superuser return getdata
serializers.py
from student import views class SohanSerializer(serializers.ModelSerializer): is_name = True is_academic = views.academic //Here I call the academic fuction from views if is_academic: academic = Academic(many=True,read_only=True) else: academic = serializers.HiddenField(default=None) if is_name: pass else: name = serializers.HiddenField(default=None) class Meta: model = Student fields = ['name','studentID','email','image','phone','blood','address','academic']
is_academic = views.academic
//Здесь я вызываю академическую функцию из представлений, затем сервер запущен, но я не могу получить точный результат.
Когда я пишу пустой параметр is_academic = views.academic()
, он возвращается TypeError: academic() missing 1 required positional argument: 'request'
Я думаю, что получаю точные результаты, когда передаю запрос внутри функции, как is_academic = views.academic(request)
и раньше, но это не работает.
Я пытался is_academic = views.academic(request=None)
, но результат AttributeError: 'NoneType' object has no attribute 'user'
, пожалуйста, помогите мне передать запрос внутри is_academic = views.academic(request)
.
Комментарии:
1. сериализаторы не вызывают представления, представления вызывают сериализаторы
2. Я вызываю представления в сериализаторах, чтобы получить функцию представления в моем классе сериализаторов.
3. Итак, как вы называете свой сериализатор?…
4. Я импортирую это сверху в serializers.py
from student import views
5. Итак, как вы называете свой сериализатор?…