def update(self, instance, validated_data): mascota = instance.mascota mascota_data = validated_data.pop('mascota') mascota.nombre=mascota_data.pop('nombre') mascota.raza=mascota_data.pop('raza') mascota.tipo=mascota_data.pop('tipo') mascota.sexo=mascota_data.pop('sexo') mascota.edad=mascota_data.pop('edad') mascota.tamanio=mascota_data.pop('tamanio') mascota.compatible_chicos=mascota_data.pop('compatible_chicos') mascota.medicacion=mascota_data.pop('medicacion') mascota.save() instance.usuario=validated_data.pop('usuario') instance.aviso=validated_data.pop('aviso') instance.en_transito=validated_data.pop('en_transito') instance.fecha_publicacion=validated_data.pop('fecha_publicacion') instance.fecha_concretada=validated_data.pop('fecha_concretada') instance.estado=validated_data.pop('estado') instance.latitud=validated_data.pop('latitud') instance.longitud=validated_data.pop('longitud') instance.descripcion=validated_data.pop('descripcion') instance.save() multimedia_array = MultimediaMascota.objects.filter(id_publicacion=instance.id) for multimedia_viejo in multimedia_array: multimedia_viejo.delete() for multimedia_obj in validated_data['multimedia']: multimedia = MultimediaMascota(tipo=multimedia_obj.pop('tipo'),url=multimedia_obj.pop('url'),orden=multimedia_obj.pop('orden')) multimedia.id_publicacion = instance multimedia.save() return instance
def create(self, validated_data): mascota_data = validated_data.pop('mascota') mascota_obj = Mascota(nombre=mascota_data.pop('nombre'), raza=mascota_data.pop('raza'), tipo=mascota_data.pop('tipo'), sexo=mascota_data.pop('sexo'), edad=mascota_data.pop('edad'), tamanio=mascota_data.pop('tamanio'), compatible_chicos=mascota_data.pop('compatible_chicos'), medicacion=mascota_data.pop('medicacion')) mascota_obj.save() publicacion = Publicacion(usuario=validated_data.pop('usuario'), aviso=validated_data.pop('aviso'), en_transito=validated_data.pop('en_transito'),fecha_publicacion=validated_data.pop('fecha_publicacion'), fecha_concretada=validated_data.pop('fecha_concretada'),estado=validated_data.pop('estado'), latitud=validated_data.pop('latitud'), longitud=validated_data.pop('longitud'), descripcion=validated_data.pop('descripcion')) publicacion.mascota = mascota_obj publicacion.save() for multimedia_obj in validated_data.pop('multimedia'): multimedia = MultimediaMascota(tipo=multimedia_obj.pop('tipo'),url=multimedia_obj.pop('url'),orden=multimedia_obj.pop('orden') ) multimedia.id_publicacion = publicacion multimedia.save() return publicacion