Or dont you just wish there was Redis on GAE and appspot??
http://code.google.com/p/googleappengine/issues/detail?id=3194

On May 13, 10:36 pm, Szaijan <[email protected]> wrote:
> Hi Folks,
>
> I'm building a relatively modest iPhone/iPad MMO and plan to use GAE
> for the backend.  There seem to be some features I consider critical
> missing from the Data Store, but it's quite possible that there are
> alternatives and I'm simply missing them.  I planned to create a
> Request for Enhancement thread, but I'd appreciate some input from GAE
> vets first.
>
> I extended db.Model into my own model class in which I am trying to
> correct these "omissions".  I added a 'create' function specifically
> for inserting new objects into the Data Store.
>
> Some items that appear to be missing:
>
> 1) Unique Keys
>
> The lack of any way to specify unique keys for fields outside of the
> key_name is well documented.  I borrowed and modified the
> UniqueConstraint class from user Blixt in this <a href="http://
> stackoverflow.com/questions/1185628/how-do-i-define-a-unique-property-
> for-a-model-in-google-app-engine">thread</a>.
>
> This works great in my creation() method, but it does nothing for
> attempts to update the field at a later date.  I thought about moving
> the check into init(), which would be better but then I have to figure
> out how to filter out UniqueKey generated keys which originally came
> from this object when it was stored previously.  Doable, but messy and
> a bit slow.
>
> It does nothing for updates of a unique field in an instance.  Again,
> not knowing which keys were generated from this object initially makes
> the tasks of deleting no longer needed UniqueKeys messy.  I'm also
> unsure how best to kick off the check.  Ideally, I'd like to check any
> time the value of a field involved in a unique key is changed.  How do
> I get at the Properties get and set methods to override them?
>
> I can live with making unique fields immutable, but there currently no
> way I can find to do that, which leads me too...
>
> 2) Immutable Fields
>
> Is there a way to specify that a Property cannot be changed after
> creation?  If I knew how to refer to the set() method for property
> values I could simply override them to disallow updates.  Is there a
> better way?
>
> 3) db.DictProperty
>
> I really wish there were a way to specify that the db.ListProperty
> should use a dict structure, with user specified names (i.e.
> key_names) for each member.
>
> I have Character objects which include numerous references to other
> db.Model objects in them.  The referenced instances are grouped by
> classes which are handled quite differently.  The obvious
> implementation is to use on db.ListProperty(db.Key) for each class,
> but I lose any ability to know which key belongs to which instance
> without doing a query.  I'd really like to retain the convenience of
> being able to refer to a stat via
> model_instance.stats.stat_name.value, but by this method it has to be
> model_instance.stats.stat_instance_key.value.  Unless I maintain a
> separate map of stat_instance_key to stat_name, I have to run a query
> to get the correct stat_instance_key each time I want to reference a
> stat.  Inefficient and ugly, IMO.
>
> Currently, I just created a dict attribute called stats which points
> to all of the Stat instances and refers to them by name.  I can
> populate the dict in init() with Stat instances that are children of
> the Character, and I can store each Stat instance in the character's
> put().
>
> Is there a better way to do this?
>
> If you've made it this far, thanks for your attention.  I started to
> post code in this message, but it's too long as it is.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to