YUI.add('pnm-place', function (Y) {

var FLICKR_API_KEY = YUI.namespace('Env.Flickr').API_KEY || '',

    Lang = Y.Lang,
    Place;

Place = Y.Base.create('place', Y.Model, [Y.ModelSync.YQL], {

    idAttribute: 'woeid',
    cache      : new Y.CacheOffline(),

    queries: {
        placeFromId    : 'SELECT * FROM geo.places WHERE woeid={id}',
        placeFromLatLon: 'SELECT * FROM geo.places WHERE woeid ' +
                            'IN (SELECT place.woeid FROM flickr.places ' +
                            'WHERE api_key={api_key} ' +
                            'AND lat={latitude} ' +
                            'AND lon={longitude})'
    },

    buildQuery: function () {
        if (this.isNew()) {
            // assumes we at least have a lat/lon
            return Lang.sub(this.queries.placeFromLatLon, {
                api_key  : FLICKR_API_KEY,
                latitude : this.get('latitude'),
                longitude: this.get('longitude')
            });
        }

        return Lang.sub(this.queries.placeFromId, {id: this.get('id')});
    },

    parse: function (results) {
        if ( ! results) { return; }

        var data     = results.place,
            centroid = data.centroid,
            country  = data.country,
            region   = data.admin1,
            locality = data.locality1;

        return {
            woeid    : data.woeid,
            latitude : centroid.latitude,
            longitude: centroid.longitude,
            country  : country && country.content,
            region   : region && region.content,
            locality : locality && locality.content
        };
    },

    toString: function () {
        var country  = this.get('country'),
            region   = this.get('region'),
            locality = this.get('locality');

        if (locality) {
            return (locality + ', ' + region);
        }

        if (region) {
            return (region + ', ' + country);
        }

        return country || '';
    }

}, {

    ATTRS: {
        woeid    : {},
        latitude : {},
        longitude: {},
        country  : {},
        region   : {},
        locality : {}
    }

});

Y.namespace('PNM').Place = Place;

}, '0.5.0', {
    requires: [
        'cache-offline',
        'gallery-model-sync-yql',
        'model',
        'yql'
    ]
});

@@ -294,33 +294,39 @@
 Id    : 'SELECT 
-*
+%7Battrs%7D
  FROM geo.places
@@ -382,9 +382,15 @@
 ECT 
-*
+%7Battrs%7D
  FRO
@@ -969,16 +969,60 @@
 gitude')
+,%0A                attrs    : Place.YQL_ATTRS
 %0A       
@@ -1096,26 +1096,87 @@
 d, %7B
-id: this.get('id')
+%0A            id   : this.get('id'),%0A            attrs: Place.YQL_ATTRS%0A        
 %7D);%0A
@@ -2269,16 +2269,89 @@
 %7B%7D%0A    %7D
+,%0A%0A    YQL_ATTRS: %5B'woeid', 'centroid', 'country', 'admin1', 'locality1'%5D
 %0A%0A%7D);%0A%0AY

Update Place model to only request specific fields from YQL.