Ссылка на объекты внутри списка без использования ссылок или индексов - PullRequest
2 голосов
/ 21 мая 2010

Я использую python для своего класса корзины покупок, в котором есть список товаров. Когда клиент хочет отредактировать элемент, мне нужно как-то передать интерфейс JavaScript для ссылки на элемент, чтобы он мог вызывать методы AJAX для управления им.

По сути, мне нужен простой способ указать на конкретный элемент, который не является его индексом и не является ссылкой на сам объект.

Я не могу использовать индекс, потому что другой элемент в списке может быть добавлен или удален, пока идентификатор «удерживается» внешним интерфейсом. Если бы я передал индекс вперед, если элемент был удален из списка, тогда этот индекс не указывал бы на нужный объект.

Одним из решений, по-видимому, является использование UUID, но это выглядит особенно тяжело для очень маленького списка. Какой самый простой / лучший способ сделать это?

Ответы [ 2 ]

4 голосов
/ 21 мая 2010

Вместо использования списка, почему бы не использовать словарь и использовать маленькие целые числа в качестве ключей? Добавление и удаление элементов из словаря не приведет к изменению индексов в словаре. Вы захотите сохранить одно значение в словаре, которое даст вам знать, каким будет следующий назначенный индекс.

2 голосов
/ 21 мая 2010

UUID кажется идеальным для этого. Почему ты не хочешь этого делать?

Есть ли у товара какой-либо product_id? Может ли корзина покупок иметь более одного одинакового product_id, или в ней хранится количество? Я получаю следующее: если product_id в корзине уникален, вы можете просто использовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...