def doctorCreate(request): serializer = DoctorSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data)
class UserSerialize(serializers.ModelSerializer): doctor = DoctorSerializer(read_only=True) patient = PatientsSerializer(read_only=True) class Meta: model = User fields = ('id', 'pk', 'email', 'name', 'doctor', "patient")
class AppointmentSerializer(serializers.ModelSerializer): doctor = DoctorSerializer() #Creating Doctor instance schedule = ScheduleSerializer() #Creating Schedule instance class Meta: model = Appointment fields = ('id', 'patient', 'doctor', 'schedule', 'appointment_date', 'appointment_time',) read_only_fields = ('id',)
def DoctorUpdate(request): doctor = Doctor.objects.filter(pk=request.data['pk']) # to update fields use 'filter' doctor.update(image=request.data['image']) doctor = Doctor.objects.get(pk=request.data['pk']) # to serialize doctor's object use 'get' serializer = DoctorSerializer(doctor,many=False) return Response(serializer.data)
class AppointmentSerialSerializer(serializers.HyperlinkedModelSerializer): doctor = DoctorSerializer(read_only=True) doctor_id = serializers.IntegerField() class Meta: model = AppointmentSerial fields = [ 'id', 'schedule_time', 'name', 'mobile', 'doctor', 'doctor_id', 'status', 'created_at' ]
def custom_signup(self, request, user): user_type = self.validated_data.get('user_type', '') serializer = None if user_type == DOCTOR_USER: data = self.get_cleaned_data() data['user'] = user.id serializer = DoctorSerializer(data=data) else: data = self.get_cleaned_data() data['user'] = user.id serializer = PatientSerializer(data=data) serializer.is_valid(raise_exception=True) serializer.save()
class DoctorAppointmentSerializer(serializers.HyperlinkedModelSerializer): patient = PatientSerializer(read_only=True) patient_id = serializers.IntegerField() doctor = DoctorSerializer(read_only=True) doctor_id = serializers.IntegerField() doc_image = Base64ImageField(allow_null=True, max_length=None, use_url=True, required=False) doc_file = Base64ImageField(allow_null=True, max_length=None, use_url=True, required=False) class Meta: model = DoctorAppointment fields = [ 'id', 'name', 'mobile', 'problem', 'age', 'gender', 'description', 'doctor', 'doctor_id', 'patient', 'patient_id', 'advice', 'doc_image', 'doc_file', 'created_at' ]
class UserSerializer(serializers.ModelSerializer): patient = PatientSerializer() doctor = DoctorSerializer() user_type = serializers.SerializerMethodField() phone_no = serializers.SerializerMethodField() name = serializers.SerializerMethodField() class Meta: model = User fields = ('phone_no', 'username', 'name', 'email', 'doctor', 'patient', 'user_type') def get_user_type(self, obj): try: patient = obj.patient return PATIENT_USER except: return DOCTOR_USER def get_phone_no(self, obj): return obj.username def get_name(self, obj): return obj.first_name + obj.last_name
def DoctorDetail(request): doctor = Doctor.objects.get( pk=request.data['pk'] ) # the 'get' return me back a model I can serialize serializer = DoctorSerializer(doctor, many=False) return Response(serializer.data)
class DepartmentSerializer(serializers.ModelSerializer): doctors = DoctorSerializer(many=True, read_only=True) class Meta: model = Department fields = ('title', 'image', 'about', 'pk', 'doctors')