Django 如何向ModelMultipleChiceField添加额外数据?
我在做卡路里计数器。用户可以从菜品列表中选择(使用a很容易),但他们还需要指定每个Django 如何向ModelMultipleChiceField添加额外数据?,django,django-forms,Django,Django Forms,我在做卡路里计数器。用户可以从菜品列表中选择(使用a很容易),但他们还需要指定每个菜的份量,其中上菜大小是我的菜型号的一个字段 基本上,我希望它看起来像这样: {"dish": <Dish model>, "servings": 2.5} {% for dish in form.fountain_dishes %} {{dish}} I ate <input type="number"> {{dish.context.serving_size}} {%
菜的份量,其中上菜大小
是我的菜
型号的一个字段
基本上,我希望它看起来像这样:
{"dish": <Dish model>, "servings": 2.5}
{% for dish in form.fountain_dishes %}
{{dish}}
I ate <input type="number"> {{dish.context.serving_size}}
{% endfor %}
问题是,为了显示字符串“4盎司服务”和“切片”,在渲染字段时,我需要访问盘
模型
最好的方法是什么
到目前为止,我有两个粗略的想法:
创建一个自定义的小部件
,它将呈现为复选框和数字输入字段。当数据被反序列化时,它会变成这样:
{"dish": <Dish model>, "servings": 2.5}
{% for dish in form.fountain_dishes %}
{{dish}}
I ate <input type="number"> {{dish.context.serving_size}}
{% endfor %}
但是,我不确定如何使我的clean
方法处理这个意外数据
disk
型号是什么样的?表单中还包括其他型号吗?菜肴有名称
、上菜尺寸
、以及大量的卡路里
。此表单应该创建一个用餐对象,该对象有一个多个字段,其中包含用户吃的所有菜肴以及该餐的卡路里总数。您解决过这个问题吗?我非常需要一个小部件,它可以让我为m2m关系中选择的每个项目填充额外的数据。我将其分解并用javascript实现。这是我的模板(注意第6行):这是我的javascript: