我一直在搜索和浏览文档,但我想在这里询问并确认最佳解决方案.
试图定义模型选择.
简单示例:在我的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)
那些最好的方法吗?
只想使用Django提供的最有效和最简单的方法.
我想知道如何改变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) 我正在尝试在 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) 我想制作一个漂亮的多选 HTML 页面。我想要 3 或 4<div>秒,包括图像和/或文本,用户应该能够<div>通过简单地点击任意位置来切换每个“开”或“关” <div>(如果可能的话,应该有一个突出显示的效果和动画) . 当表单被提交时,应该向服务器发送 each 的状态<div>,就好像它是一个复选框。
我已经搜索了所有地方,但找不到类似的东西。它看起来很基本,以至于我可能忽略了一些微不足道的东西。有任何想法吗?我已经在使用 jQuery 和 bootstrap,所以如果有一个仅基于这些框架的简单解决方案,我会很高兴。
谢谢。
编辑:我不希望<div>s 移动或消失。我只想要一个“突出显示”的效果,比如<div>选择时将背景颜色更改为蓝色,未选择时将背景颜色更改为白色。
我正在尝试使用复选框创建多项选择.我在复选框中显示数据,但是当我提交时,我收到以下错误:
模板错误:解压缩的值太多
我读到有些人的问题是他们没有创建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)