Найти - Пользователи
Полная версия: ChoiceField
Начало » Django » ChoiceField
1
Rebra4
Вот код:
b=Category.objects.all()
CATEGORY=()
i=0
k=0
f=[]
w=()
for a in b:
    k=k+1
    del f
    f=[]
    i=0
    d=Category.objects.get(id=k)
    t=d.categorygo_set.all()
    for c in t:
        i=i+1
        w=(i,c)
        f.append(w)
    CATEGORY =CATEGORY+((d,(f)),)
class CategoryForm(forms.Form): 
    category_form=forms.ChoiceField(choices=CATEGORY,label='Выбор категории:')

Примерно то что я хочу сделать, но категории обновляються только при перезагрузке сервера.
Как можно сделать постоянное обновление этой переменной?
FishHook
Похоже на бред.
Покажите модели и объясните, что нужно сделать.
Rebra4
class Category(models.Model):
  name_category=models.CharField(max_length=15)
  yes_category=models.BooleanField()
  def __unicode__(self):
    return self.name_category
class CategoryGo(models.Model):
  option=models.ForeignKey(Category)
  name_category=models.CharField(max_length=15)
  yes_category=models.BooleanField()
  def __unicode__(self):
    return self.name_category

Нужно чтобы при добавлении данных а админке происходило автоматическое обновление формы ChoiceField.
FishHook
Rebra4
Нужно чтобы при добавлении данных а админке происходило автоматическое обновление формы ChoiceField.
С такой постановкой вопроса вы будете ждать ответа на вопрос до второго пришествия.
Rebra4
Вот в эту форму я с бд беру данные. Проблема в том что при добалении новых данных в бд, они не появляються в форме.
Мне нужно знать, как обновить значения ChoiceField без перезагрузки сервера.
FishHook
Ну дык. WSGI-приложение запустилось, код который выше формы выполнился при импорте модуля, и больше он выполняться не будет, никто его не вызывает, потому что на каждый запрос новый экземпляр WSGI-приложения не создаётся, это вам не пхп. Нужно от это всё
b=Category.objects.all()
CATEGORY=()
i=0
k=0
f=[]
w=()
for a in b:
    k=k+1
    del f
    f=[]
    i=0
    d=Category.objects.get(id=k)
    t=d.categorygo_set.all()
    for c in t:
        i=i+1
        w=(i,c)
        f.append(w)
    CATEGORY =CATEGORY+((d,(f)),)


запихать во внутрь формы, логично предположить что в __init__. На каждом запросе вы будете получать новый объект класса CategoryForm, при этом будет выполняться __init__ и данные будут обновляться.
Rebra4
спасибо помогло
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB