portal_catalog уникальные идентификаторы для контента Archetypes и Dexterity - PullRequest
3 голосов
/ 23 декабря 2011

Я запрашиваю portal_catalog, чтобы заполнить словарь кортежами (UID, Title). На сайте есть как Архетипы, так и Ловкость.

brains = portal_catalog.searchResults(path={ "query": site_physical_path + "/" + folder_name },
               portal_type=["foobar.app.courseinfo", "Folder"] )

Похоже, что контенту Ловкости не присвоен правильный UID, и фактически все элементы Ловкости имеют одинаковый UID (это даже не недопустимое значение).

 ('29550a9a-5e6c-4593-8bee-9db11f29b934', u'xxx dexterity'), ('29550a9a-5e6c-4593-8bee-9db11f29b934', u'yyy dexterity'),

Какова лучшая стратегия, позволяющая использовать уникальные идентификаторы для контента Archetypes и Dexterity в portal_catalog для использования в качестве ключа идентификатора контента для поиска?

1 Ответ

5 голосов
/ 24 декабря 2011

Вероятно, он получает UID из контейнера предметов Ловкости.

Начиная с Ловкости 1.1, все предметы Ловкости должны иметь свой собственный UUID, пока присутствует plone.uuid, что всегда должно быть.в Plone 4.1 и выше.Убедитесь, что вы выполнили шаг обновления, чтобы добавить UUID в существующие элементы, у которых их нет.

...