{"id":522,"date":"2012-02-29T10:17:43","date_gmt":"2012-02-29T09:17:43","guid":{"rendered":"https:\/\/ridgesolutions.ie\/?p=522"},"modified":"2012-02-29T10:17:43","modified_gmt":"2012-02-29T09:17:43","slug":"google-app-engine-access-referenceproperty-without-fetching-referenced-object","status":"publish","type":"post","link":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/","title":{"rendered":"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object"},"content":{"rendered":"<p>In google app engine&#8217;s cloud based Datastore <a href=\"http:\/\/code.google.com\/appengine\/docs\/python\/datastore\/typesandpropertyclasses.html#ReferenceProperty\">db.ReferenceProperty<\/a> can be used in a Model to reference another Model like this:<\/p>\n<div>&nbsp;<\/div>\n<p><\/a><\/p>\n<pre>\r\n<code>\r\nfrom google.appengine.ext import db\r\n\r\nclass A(db.Model):\r\n    b = db.ReferenceProperty(B)\r\n\r\nclass B(db.Model):\r\n    name = db.StringProperty()\r\n\r\n<\/code> \r\n<\/pre>\n<p>In the above example A  references B, if you have an object of type A you can directly access its referenced B like this:<\/p>\n<pre>\r\n<code>\r\nb_name = a.b.name\r\n<\/code> \r\n<\/pre>\n<p>When you access a.b, GAE will automatically fetch b from the datastore without you having to do anything special.  This is handy, but sometimes you may not want the automatic datastore fetch to happen, instead you may just want know the referenced object&#8217;s key.<\/p>\n<div>&nbsp;<\/div>\n<p>If you were dealing with 1000s of objects, the extra DB fetch for each object could add a huge unnecessary time overhead to your processing (for example if you were using memcache for caching, or if you already had a list of all the relevant b&#8217;s in memory). <\/p>\n<div>&nbsp;<\/div>\n<p>So how do we retrieve the key of the referenced object without triggering an datastore fetch?  To achieve we have to invoke a rather obtuse function called (wait for it): <a href=\"http:\/\/code.google.com\/appengine\/docs\/python\/datastore\/propertyclass.html#Property_get_value_for_datastore\">get_value_for_datastore()<\/a><\/p>\n<div>&nbsp;<\/div>\n<p>For example, We can find out what b&#8217;s key value is like this:<\/p>\n<div>&nbsp;<\/div>\n<pre>\r\n<code>\r\nb_key = A.b.get_value_for_datastore(a)\r\n<\/code> \r\n<\/pre>\n<p>The above won&#8217;t cause GAE to fetch the referenced B from the datastore.  Its all a bit long winded and confusing but it does seem to work!<\/p>\n<div>&nbsp;<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In google app engine&#8217;s cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: &nbsp; from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,1],"tags":[115,152,95,97],"class_list":["post-522","post","type-post","status-publish","format-standard","hentry","category-tech-stuff","category-uncategorized","tag-cloud","tag-datastore","tag-gae","tag-google-app-engine"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"In google app engine&#039;s cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Kevin Godden\"\/>\n\t<meta name=\"google-site-verification\" content=\"Kyj52YLp6GOPA44PVBffo9fjW8rgWHYYRF0ZYjfy6ss\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Systems and Embedded Software Engineering, Ireland. | Some thoughts of a busy Computer Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object\" \/>\n\t\t<meta property=\"og:description\" content=\"In google app engine&#039;s cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2012-02-29T09:17:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2012-02-29T09:17:43+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object\" \/>\n\t\t<meta name=\"twitter:description\" content=\"In google app engine&#039;s cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#article\",\"name\":\"Google App Engine \\u2013 Access ReferenceProperty without fetching referenced object\",\"headline\":\"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object\",\"author\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/ridge_logo1.jpg\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#articleImage\",\"width\":400,\"height\":81},\"datePublished\":\"2012-02-29T10:17:43+00:00\",\"dateModified\":\"2012-02-29T10:17:43+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#webpage\"},\"articleSection\":\"Tech Stuff, Uncategorized, cloud, datastore, gae, google app engine\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ridgesolutions.ie\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/uncategorized\\\/#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/uncategorized\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#listItem\",\"name\":\"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#listItem\",\"position\":3,\"name\":\"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#organization\",\"name\":\"Ridge Solutions, Software Development and Software Engineering, Ireland.\",\"description\":\"Some thoughts of a busy Computer Engineer\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/wp-content\\\/uploads\\\/2013\\\/09\\\/ridge_logo1.jpg\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#organizationLogo\",\"width\":400,\"height\":81},\"image\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/\",\"name\":\"Kevin Godden\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d2833f41e59a25cf2a9741a05ec383bfdd278762a5e0798a90940e7ab0a107a2?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Kevin Godden\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#webpage\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/\",\"name\":\"Google App Engine \\u2013 Access ReferenceProperty without fetching referenced object\",\"description\":\"In google app engine's cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/2012\\\/02\\\/29\\\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/index.php\\\/author\\\/kgodden\\\/#author\"},\"datePublished\":\"2012-02-29T10:17:43+00:00\",\"dateModified\":\"2012-02-29T10:17:43+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#website\",\"url\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/\",\"name\":\"Ridge Solutions, Software Development and Software Engineering, Ireland.\",\"description\":\"Some thoughts of a busy Computer Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ridgesolutions.ie\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object","description":"In google app engine's cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its","canonical_url":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"Kyj52YLp6GOPA44PVBffo9fjW8rgWHYYRF0ZYjfy6ss","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#article","name":"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object","headline":"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object","author":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author"},"publisher":{"@id":"https:\/\/www.ridgesolutions.ie\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.ridgesolutions.ie\/wp-content\/uploads\/2013\/09\/ridge_logo1.jpg","@id":"https:\/\/www.ridgesolutions.ie\/#articleImage","width":400,"height":81},"datePublished":"2012-02-29T10:17:43+00:00","dateModified":"2012-02-29T10:17:43+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#webpage"},"isPartOf":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#webpage"},"articleSection":"Tech Stuff, Uncategorized, cloud, datastore, gae, google app engine"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie#listItem","position":1,"name":"Home","item":"https:\/\/www.ridgesolutions.ie","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/uncategorized\/#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/uncategorized\/#listItem","position":2,"name":"Uncategorized","item":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/uncategorized\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#listItem","name":"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#listItem","position":3,"name":"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object","previousItem":{"@type":"ListItem","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/uncategorized\/#listItem","name":"Uncategorized"}}]},{"@type":"Organization","@id":"https:\/\/www.ridgesolutions.ie\/#organization","name":"Ridge Solutions, Software Development and Software Engineering, Ireland.","description":"Some thoughts of a busy Computer Engineer","url":"https:\/\/www.ridgesolutions.ie\/","logo":{"@type":"ImageObject","url":"https:\/\/www.ridgesolutions.ie\/wp-content\/uploads\/2013\/09\/ridge_logo1.jpg","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#organizationLogo","width":400,"height":81},"image":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author","url":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/","name":"Kevin Godden","image":{"@type":"ImageObject","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d2833f41e59a25cf2a9741a05ec383bfdd278762a5e0798a90940e7ab0a107a2?s=96&d=mm&r=g","width":96,"height":96,"caption":"Kevin Godden"}},{"@type":"WebPage","@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#webpage","url":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/","name":"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object","description":"In google app engine's cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.ridgesolutions.ie\/#website"},"breadcrumb":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/#breadcrumblist"},"author":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author"},"creator":{"@id":"https:\/\/www.ridgesolutions.ie\/index.php\/author\/kgodden\/#author"},"datePublished":"2012-02-29T10:17:43+00:00","dateModified":"2012-02-29T10:17:43+00:00"},{"@type":"WebSite","@id":"https:\/\/www.ridgesolutions.ie\/#website","url":"https:\/\/www.ridgesolutions.ie\/","name":"Ridge Solutions, Software Development and Software Engineering, Ireland.","description":"Some thoughts of a busy Computer Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.ridgesolutions.ie\/#organization"}}]},"og:locale":"en_US","og:site_name":"Systems and Embedded Software Engineering, Ireland. | Some thoughts of a busy Computer Engineer","og:type":"article","og:title":"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object","og:description":"In google app engine's cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its","og:url":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/","article:published_time":"2012-02-29T09:17:43+00:00","article:modified_time":"2012-02-29T09:17:43+00:00","twitter:card":"summary","twitter:title":"Google App Engine \u2013 Access ReferenceProperty without fetching referenced object","twitter:description":"In google app engine's cloud based Datastore db.ReferenceProperty can be used in a Model to reference another Model like this: from google.appengine.ext import db class A(db.Model): b = db.ReferenceProperty(B) class B(db.Model): name = db.StringProperty() In the above example A references B, if you have an object of type A you can directly access its"},"aioseo_meta_data":{"post_id":"522","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-09-13 13:01:46","updated":"2025-07-15 21:33:03","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ridgesolutions.ie\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ridgesolutions.ie\/index.php\/category\/uncategorized\/\" title=\"Uncategorized\">Uncategorized<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGoogle App Engine \u2013 Access ReferenceProperty without fetching referenced object\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.ridgesolutions.ie"},{"label":"Uncategorized","link":"https:\/\/www.ridgesolutions.ie\/index.php\/category\/uncategorized\/"},{"label":"Google App Engine &#8211; Access ReferenceProperty without fetching referenced object","link":"https:\/\/www.ridgesolutions.ie\/index.php\/2012\/02\/29\/google-app-engine-access-referenceproperty-without-fetching-referenced-object\/"}],"_links":{"self":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/posts\/522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/comments?post=522"}],"version-history":[{"count":0,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/posts\/522\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/media?parent=522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/categories?post=522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ridgesolutions.ie\/index.php\/wp-json\/wp\/v2\/tags?post=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}