Как я могу преобразовать список запросов в список или набор данных для поля выбора?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу преобразовать список запросов в список или набор данных для поля выбора?

Сообщение Anonymous »

После выполнения некоторых фильтров и операций я записываю данные в модель. Я могу отобразить данные для поля выбора только после некоторой обработки или в результате получения данных из другой модели.class Category_pk_for_form_maim (models.Model):
categoty_name = models.CharField()
def __str__(self):
return self.categoty_name

class Category_pk_for_form_category (models.Model):
name_object = models.IntegerField(verbose_name="Наименование объекта")
category_name = models.CharField()

class CreateNewGPR (models.Model):
name_object = models.IntegerField(verbose_name="Наименование объекта")
name_category = models.CharField(verbose_name="Наименование категории/раздела/вида работ")
name_working = models.CharField(verbose_name="Наименование работы")
type_izm = models.CharField(choices=TYPE_IZMERENIYA, verbose_name="Единицы измерения")
value_work = models.FloatField(verbose_name="Объём работ")
lyudi_norma = models.IntegerField(verbose_name="Нормативные затраты персонала")
technik_norma = models.IntegerField(verbose_name="Нормативные затраты техники")
date_begin = models.DateField(verbose_name="Дата начала работ")
date_end = models.DateField(verbose_name="Дата окончания работ")

class GPRWorkingName (models.Model):
name_working = models.CharField(verbose_name="Наименование работы по ГПР")
def __str__(self):
return self.name_working
< /code>
forms.py
class Form_GPR (forms.ModelForm):
class Meta:
model = CreateNewGPR
fields = "name_category", "name_working", "type_izm", "value_work", "lyudi_norma", "technik_norma", "date_begin", "date_end"
widgets = {
"name_category": forms.RadioSelect(attrs={"type":"radio"}),
"date_begin": forms.DateInput(attrs={"class":"form-control", "type":"date"}),
"date_end": forms.DateInput(attrs={"class":"form-control", "type":"date"}),

}
< /code>
views.py
def book(request, pk):

context = {}

Category_pk_for_form_maim.objects.all().delete()

filter_qs_category = Category_pk_for_form_category.objects.filter(name_object=pk)
filter_qs_category = filter_qs_category.values("category_name")

for item in filter_qs_category:
entry = item
new_entry = Category_pk_for_form_maim(categoty_name=entry)
new_entry.save()

form_category_1 = Category_pk_for_form_category_Form()
form_2 = Form_GPR()

choises_1 = Category_pk_for_form_maim.objects.all()
choises_1 = choises_1.values_list("categoty_name", flat=True)

choises_1 = choises_1.values()

print(choises_1)

form_2.fields["name_category"].choices = choises_1

if request.method == 'POST':

if request.POST.get("form_type") == "form1":
form_category_1 = Category_pk_for_form_category_Form(request.POST)
if form_category_1.is_valid():
model_instance = form_category_1.save(commit=False)
name_object = pk
category_name = model_instance.category_name
new_entry = Category_pk_for_form_category(name_object=name_object, category_name=category_name)
new_entry.save()
return redirect("book-detail", pk)
elif request.POST.get("form_type") == "form2":
form_2 = Form_GPR(request.POST)
if form_2.is_valid():
model_instance = form_2.save(commit=False)
name_object = pk
name_working = model_instance.name_working
type_izm = model_instance.type_izm
value_work = model_instance.value_work
lyudi_norma = model_instance.lyudi_norma
technik_norma = model_instance.technik_norma
date_begin = model_instance.date_begin
date_end = model_instance.date_end
new_entry = CreateNewGPR(name_object=name_object, name_working=name_working, type_izm=type_izm, value_work=value_work, lyudi_norma=lyudi_norma, technik_norma=technik_norma, date_begin=date_begin, date_end=date_end)
new_entry.save()
return redirect("book-detail", pk)

context['form_category_1'] = form_category_1
context['form_2'] = form_2

""" Gets an individual book object from the database, based on its ID/PK. Renders a detail template """
book = get_object_or_404(ArkiObject_1, pk=pk)

filter_qs = CreateNewGPR.objects.filter(name_object=pk)
filter_qs = filter_qs.values("name_working", "type_izm", "value_work", "lyudi_norma", "technik_norma", "date_begin", "date_end")

context['books'] = filter_qs
return render(request, 'bookdetail.html', context)


Подробнее здесь: https://stackoverflow.com/questions/796 ... ices-field
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»