一个 order 有多个 project,展示 order 的时候将 project 以 的形式展示出来,进入某个 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 %} {% endfor %}