标签: multiple-choice

Django - 模型的选择

我一直在搜索和浏览文档,但我想在这里询问并确认最佳解决方案.

试图定义模型选择.

  1. '是,不,不确定'选择来自Radio Select
  2. 我如何定义多项选择

简单示例:在我的models.py中,我有

class Property(models.Model):
    name = models.CharField()

class Feature(models.Model):
    YES_CHOICES = (       # example of 1, there can be only one selection
        ('YES', 'Yes'),
        ('NO', 'No'),
        ('NOT_SURE', 'Not Sure')
    )
    PARKING_CHOICES = (    # example of 2, there can be multiple selections
        ('GARAGE', 'Garage'),
        ('STREET', 'Street'),
        ('PRIVATE_LOT', 'Private Lot'),
        ('VALET', 'Valet'),
    )

    nearby_school = models.CharField(max_length=8, choices=YES_CHOICES)
    parking_options = models. MultipleChoiceField(choices=PARKING_CHOICES)

class PropertyFeature(models.Model)
    property = models.ForeignKey(Property)
    feature = models.ForeignKey(Feature)
    ...
Run Code Online (Sandbox Code Playgroud)

那些最好的方法吗?

  1. 我应该使用NullBooleanField代替是,否,不确定问题?
  2. 这是定义和存储多项选择答案的正确方法吗?有时候,我看到人们使用了很多很多物体.

只想使用Django提供的最有效和最简单的方法.

django choice django-models multiple-choice

2
推荐指数
1
解决办法
1万
查看次数

DJANGO:改变ModelMultipleChoiceField的字段大小?

我想知道如何改变ModelMultipleChoiceField的大小?我只看过将CharField更改为Textarea的例子......这可能吗?

Models.PY

class FilterForm(forms.Form):
    Person = forms.ModelMultipleChoiceField(required=False, queryset=Person.objects.all(), attrs={'cols': 50, 'rows': 10})
Run Code Online (Sandbox Code Playgroud)

forms django django-forms modelform multiple-choice

2
推荐指数
2
解决办法
3037
查看次数

在 Django 中保存 MultipleChoiceField

我正在尝试在 Django 中保存一个 MultipleChoiceField。模型.py

choices_for_field  = 
    (('A','A'),
     ('B','B'),
     ('C','C'),
     ('D','D'),)

class names(models.Model):
    c_name = models.CharField(max_length=50, null=False, blank=False, choices=choices_for_field)

class formForm(ModelForm):    
    c_name = forms.MultipleChoiceField(label='alphabets', choices=choices_for_field, widget=CheckboxSelectMultiple)
Run Code Online (Sandbox Code Playgroud)

当我保存这个时,我收到一个错误,“不是一个有效的选择”。我不知道我哪里出错了。我已经检查了与此相关的所有其他问题。但没有什么对我有用。有谁能够帮助我。

视图.py

bf = formForm(request.POST)
    if bf.is_valid():
        temp = bf.save(commit=False)
        temp.stud_user_id = userid
        temp.save()
Run Code Online (Sandbox Code Playgroud)

django save multiple-choice

2
推荐指数
1
解决办法
3837
查看次数

如果可能,如何使用 jquery 和/或引导程序为多个选择制作可切换的 div?

我想制作一个漂亮的多选 HTML 页面。我想要 3 或 4<div>秒,包括图像和/或文本,用户应该能够<div>通过简单地点击任意位置来切换每个“开”或“关” <div>(如果可能的话,应该有一个突出显示的效果和动画) . 当表单被提交时,应该向服务器发送 each 的状态<div>,就好像它是一个复选框。

我已经搜索了所有地方,但找不到类似的东西。它看起来很基本,以至于我可能忽略了一些微不足道的东西。有任何想法吗?我已经在使用 jQuery 和 bootstrap,所以如果有一个仅基于这些框架的简单解决方案,我会很高兴。

谢谢。

编辑:我不希望<div>s 移动或消失。我只想要一个“突出显示”的效果,比如<div>选择时将背景颜色更改为蓝色,未选择时将背景颜色更改为白色。

html jquery widget multiple-choice twitter-bootstrap

1
推荐指数
1
解决办法
2897
查看次数

Django中的多项选择会引发"太多的值来解压"

我正在尝试使用复选框创建多项选择.我在复选框中显示数据,但是当我提交时,我收到以下错误:

模板错误:解压缩的值太多

我读到有些人的问题是他们没有创建2tuples作为选择列表的元素.但事实并非如此.问题是什么?

forms.py

class Test(forms.Form):
    answer = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple)

    def __init__(self, options, *args, **kwargs):
        super(Test, self).__init__(*args, **kwargs)
        self.fields['answer'].choices = options
Run Code Online (Sandbox Code Playgroud)

views.py

def multiChoice(request,ex):

    multi = MultipleChoice.objects.get(pk=ex)
    choices = multi.correct_choices.all() | multi.wrong_choices.all()

    if request.method == 'POST':
        form = Test(request.POST)
        if form.is_valid():
            multiple = form.save()
            return HttpResponseRedirect('/edu/multi/1')
    else:
        form = Test(options=[( choice.id , choice ) for choice in choices])

    return render(request,'edu/multi.html', {'form': form, 'multi': multi , 'choices': choices})
Run Code Online (Sandbox Code Playgroud)

forms django tuples multiple-choice

1
推荐指数
1
解决办法
2724
查看次数