class Post(db.Model):
user = db.ReferenceProperty(User, collection_name='posts')
title = db.StringProperty(required=True)
desc = db.TextProperty()
def addApplication(self, user, message, contact_info=""):
new_app = TaskApplication(parent=self, user=user, message=message, contact_info=contact_info)
new_app.put()
class Application(db.Model):
user = db.ReferenceProperty(User, collection_name='applications')
contact_info = db.StringProperty()
message = db.TextProperty()
created = db.DateTimeProperty(auto_now_add=True)
Итак, у меня есть эти сущности, и когда я добавляю сущность приложения, я всегда устанавливаю родительский объект в сообщение. См. Функцию addApplication выше.Как гарантировать уникальность gae datastore Имя/ID?
Однако каждый раз, когда я создавал приложение. Имя/ID в хранилище данных создаст id = 1 (см. Изображение ниже), которое я думал, что gae будет создавать уникальный номер, например 39001.
Есть ли способ, который я могу обеспечить уникальность этого?
Если вы видите мое изображение выше, вы можете увидеть ID/Name являются ID = 1, почему это происходит? – tipsywacky
Потому что это только показывает вам последний компонент ключа. Как говорит Павел, он уникален, когда вы принимаете во внимание весь путь от родителя, который вы увидите, как только вы нажмете. –
Возможно, стоит прочитать информацию о типах и идентификаторах https://developers.google.com/appengine/docs/python/datastore/entities#Kinds_and_Identifiers –