Как создать флажок множественного выбора, используя значения полей модели? - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь создать флажок множественного выбора из значений поля модели и передать выбор для просмотра.

Есть ли какой-нибудь подходящий метод для этого?

Ответы [ 2 ]

0 голосов
/ 18 марта 2020
classs FormName(forms.Form):

    field_name = forms.ModelMultipleChoiceField(queryset=ModelClassName.objects.all(),
                                           to_field_name='model_class_field_name', 
                   widget=forms.CheckboxSelectMultiple())
0 голосов
/ 03 марта 2020

models.py

from django.db import models


class Tag(models.Model):
    name = models.CharField('タグ名', max_length=255)

    def __str__(self):
        return self.name

class Post(models.Model):
    title = models.CharField(max_length=255)
    tag = models.ManyToManyField(Tag)

    def __str__(self):
        return self.title

forms.py

from django import forms
from .models import Post, Tag

class MyModelChoiceField(forms.ModelChoiceField):
    def to_python(self, value):
        if value in self.empty_values:
            return None

        return Tab.objects.filter(name__in=value) 


class TestForm(forms.Form):
    check = forms.MyModelChoiceField(queryset=Tag.objects.all().values_list('name', flat=True), widget=forms.CheckboxSelectMultiple, empty_label=None)
...