У меня такая же проблема и я дошел до этой темы.У меня были проблемы с этими идентификаторами, потому что я использовал их для идентификации сущностей такого рода в HTML, например:
<li id={{ entity.id }}>{{ entity.value }}</li>
, и у меня были дублированные идентификаторы в DOM, но вы дали мне ответ: вероятно, хранилище данных не будет повторять идентификаторы в той же родительской группе, как сказано в этой части документации :
"Другими словами, объект должен иметь идентификатор, которыйявляется уникальным для всех объектов одного и того же типа и с одним и тем же родителем группы сущностей (если есть) ",
, поэтому я сгенерирую идентификатор на основе родительского именованного ключа (может быть идентификатором) и использовать этот ленивый номер, чтобы идентифицировать сущность в DOM.
python:
entity_rs = Entity.all()
entities = []
for entity in entity_rs:
entity.id = '%s-%s' % (entity.parent().key().id_or_name(), entity.key().id_or_name())
entities.append(entity):
html:
<ul>
{% for entity in entities %}
<li id="{{ entity.id }}">{{ entity.value }}</li>
{% endfor %}
</ul>
Я знаю, что это не красиво,но (при определенных условиях) это работает.