2013-07-10 3 views
1

Я пытаюсь сделать что-то подобное в моей форме:Джанго От Choices Кортеж Concatnation

sites = list(Site.objects.all().order_by('site_code')) 
sites = ((s.site_code, s.site_code) for s in sites) 
SITE_CHOICES = ('All', 'All') + (sites,) 

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

object.__new__(generator) is not safe, use generator.__new__() 

Я пробовал разные вещи, как пытаются добавить кортеж непосредственно в моем понимании, и т.д., но не повезло. У кого-нибудь есть лучшее решение?

Благодаря

+0

Я также пробовал это как список, но я получаю ту же ошибку – dajee

+0

Является ли это объектом сайта django? Если да, то что такое 'site_code'? – karthikr

+0

Извините, я должен был уточнить, что это мой пользовательский класс (модель) – dajee

ответ

2

Вы пробовали использовать списки вместо кортежей?

sites = [(s.site_code, s.site_code) for s in Site.objects.all().order_by('site_code')] 
SITE_CHOICES = [('All', 'All')] + sites 

Надеюсь, что это поможет.

+0

Спасибо, я приму свой ответ, когда это позволит мне – dajee