¿Cómo configurar su clave principal de autoincremento en AppEngine / Python?

Existe, por ejemplo, una clase de un artículo, cuyas copias se almacenan en la fecha de almacenamiento de Google. Y quiero darle un enlace:

[a href = & quot; / article / {{article.uid}} & quot; ]

Para obtener este tipo:

[a href = & quot; / article / 55 & quot; ]

Google tiene sus propios UUID, pero duele ser parte de la URL: ahBzb3ZpZXRncm9vdmVibG9ncg0LEgdBcnRpY2xlGAgM.

Respuestas
betsy vega
Esto ya se ha implementado. Además de las claves, BigTable distribuye la identificación numérica. Consulta DB por id:
 Model.get_by_id()
Para obtener el ID de cualquier entidad - entity.key (). Id ()

Es bastante adecuado para las URL, solo tenga en cuenta que el ID se incrementa para las entidades de cualquier tipo en su aplicación. Uno para todos Por lo tanto, los números salen grandes. Por ejemplo, www.arhimir.ru/news/1126006 - hecho en GAE-Python.
¡Gracias! Una forma muy adecuada para mí.

En livejournal.com, los artículos de uid probablemente también usen esta técnica "incremental" :) - queenbusick
Realmente necesito la opción similar a SQL ... especialmente debido a la migración de SQL a GAE DB - stacy davidowitz
scott lerch
muy probablemente tendrá que usar un modelo adicional:

 
class Sequence(db.Model):
    Key: db.StringProperty() #ключ, например "ArticleId"
    Number: db.IntegerProperty(default=1) #само значение

y el punto es que en una transacción, primero obtenemos el valor de Número y lo actualizamos inmediatamente con +1