Форум сайта python.su
на пути новичка возник следующий вопрос:
в модели сделать выбор подкатегории в зависимости от категории.
нашел smart selectes под это дело.
при первом запуске у меня ругалось на старые типы из python2. я натравил на smart selectes 2to3py. вроде все прошло гладко, но при попытке использовать полученную мною конструкцию на практике ругается на строчку из smart selectes\widgets.py:
empty_label = next(iter(self.choices))[1] # Hacky way to getting the correct empty_label from the field instead of a hardcoded '--------'
AttributeError: 'generator' object has no attribute 'next'
Офлайн
andrey16ЩИТО?
при первом запуске у меня ругалось на старые типы из python2. я натравил на smart selectes 2to3py
Офлайн
ежели пускать без преобразования 2to3.py
ругается следующим образом:
NameError: global name 'basestring' is not defined
Офлайн
Тут либо одно из двух.
Или эта библиотека откровенная шняга, т.к. basestring никуда из второго питона не девался
http://docs.python.org/2/library/functions.html#basestring
Либо Вы пытаетесь запустить джангу под третьим, с чем я Вам могу только посочувствовать и пожелать удачи.
Офлайн
FishHookВы дали ссылку на документацию python 2. Из Python 3 basestring удалили: http://docs.python.org/3.0/whatsnew/3.0.html
Тут либо одно из двух.Или эта библиотека откровенная шняга, т.к. basestring никуда из второго питона не девалсяhttp://docs.python.org/2/library/functions.html#basestring Либо Вы пытаетесь запустить джангу под третьим, с чем я Вам могу только посочувствовать и пожелать удачи.
print(self.choices) print (type(self.choices))
Офлайн
И что такого в запуске django 1.5 под python 3Ничего кроме того, что сами производители не рекомендуют этого делать
However, we’re labeling this support “experimental” for now: although it’s received extensive testing via our automated test suite, it’s received very little real-world testing. We’ve done our best to eliminate bugs, but we can’t be sure we covered all possible uses of Django.Ну и сторонние компоненты. Прям все так взяли и кинулись переписывать свои поделия для поддержки третьей ветки! 95% этого хлама делается энтузиастами для своих нужд и не будет переделано никогда.
Офлайн
magnet85дома буду, проверю.print(self.choices) print (type(self.choices))
from smart_selects.db_fields import ChainedForeignKey class Location(models.Model) continent = models.ForeignKey(Continent) country = ChainedForeignKey( Country, chained_field="continent", chained_model_field="continent", show_all=False, auto_choose=True ) area = ChainedForeignKey(Area, chained_field="country", chained_model_field="country") city = models.CharField(max_length=50) street = models.CharField(max_length=100)
Офлайн
FishHookНе совсем так, вот комментарий от одного из авторов django: https://github.com/idlesign/django-sitetree/pull/93#issuecomment-13890792
Ничего кроме того, что сами производители не рекомендуют этого делать
Офлайн
magnet85Если я вместо того, чтобы работать по ТЗ буду впиливать поддержки, то кушать придётся реже
Основные библиотеки уже поддерживают python 3, к Smart Selects поддержку добавить не сложно.
Офлайн