python django 的多对多字段使用 CheckboxSelectMultiple 表单展示,判断当前值是否选中,,一个 order 有多个
python django 的多对多字段使用 CheckboxSelectMultiple 表单展示,判断当前值是否选中,,一个 order 有多个
一个 order 有多个 project,展示 order 的时候将 project 以 <input type="checkbox"> 的形式展示出来,进入某个 order 页面时,需要把这个 order 的 project 以 checkbox 的形式展示出来,不知道应该如何判断 project 在 order 里?(见文末的 start.html 文件)
models.py
class Project(models.Model): name = models.CharField(max_length=64, verbose_name='名称') description = models.CharField(max_length=256, blank=True, verbose_name='描述') class Order(models.Model): project = models.ManyToManyField(Project, verbose_name='项目')
forms.py
class OrderForm(forms.Form): project = forms.ModelMultipleChoiceField(label='项目', widget=forms.CheckboxSelectMultiple, queryset=Project.objects.filter(enable=True))
views.py
def order_start(request, order_id): order = get_object_or_404(Order, pk=order_id) form = OrderForm(request.POST) if form.is_valid(): ... order.save() else: form = OrderForm() return render(request, 'orders/start.html', {'form': form, 'order': order})
start.html
{% for p in form.project %}<label for="{{ p.id_for_label }}"> <input type="checkbox" name="{{ p.name }}" id="{{ p.id_for_label }}" value="{{ p.choice_value }}" {% if ???这里该如何判断呢??? %}checked{% endif %} > <p>{{ p.choice_label }}</p></label>{% endfor %}
编橙之家文章,
相关内容
- 对话框怎么在自己的python成员函数中正常退出,python成
- 锤子布运行超时,如何改进下python代码,if过多?,锤
- python six模块包相关疑问 求解答,pythonsix,代码如下fro
- python phantomjsd的open方法怎么判断404状态码呢?,phantomj
- pyspider抓取时一下生成几千条链接爬取行不行?,pysp
- Python抓取XML携带xmlns 命名空间时如何提取子节点值?,
- pyinstaller打包python程序时出现failed to execute script错误,
- paramiko通过SFTP远程打开带中文文件时的转码error?,p
- python PyQt4中如何在一个子线程(Qthread1)中关闭另一个线程
- python里面pyspdier的result_worker,,pyspdier的 re
评论关闭