Да, вид. В Вашем методе фильтра можно объявить подстановочную переменную, которая собирает все неизвестное аргументы ключевого слова . Ваш метод мог бы быть похожим на это:
def filter(self, **kwargs):
for key,value in kwargs:
if key.startswith('min_price__') and key.endswith('__range'):
currency = key.replace('min_price__', '').replace('__range','')
rate = self.current_conversion_rates[currency]
self.setCurrencyRange(value[0]*rate, value[1]*rate)
По определению, элементы в домене уникальны, так что вы почти достигли цели:
select itemName() from domain
AFAIK SimpleDB не делает уникальный
, но помимо этого:
select itemName() from mydomain order by itemName()
должен работать, и вы можете очень легко удалить дубликаты (если есть), так как вы получаете имена в отсортированном порядке (например, itertools.groupby
в Python и любые аналогичные механизм на любом вашем любимом языке).