Django - условие if всегда возвращает True
У меня есть условие, которое вызывает функцию обновления if is_approved= True
@api_view(['POST'])
@permission_classes([IsStaff])
def update_company_info(request):
request_qs = CompanyUpdateRequests.objects.filter(id=request.data["request_id"],is_approved=None)
serializer = CompanyUpdateRequestSerializer(request_qs[0], data=request.data, partial=True)
approved = request.data['is_approved']
if serializer.is_valid():
if approved:
print(request.data['is_approved'])
update_info(request_qs[0].company, request_qs[0])
serializer.save()
Независимо от значения boolean выполняется if approved:
.
Есть предложения?
Любая строка, которая не является: """
", является True
. Вам нужно изменить ее на тип Boolean
, т.е. вот так:
approved = True if request.data['is_approved'] == "True" else False