Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django CreateView具有多个字段?_Python_Django_Django Models_Django Forms_Django Views - Fatal编程技术网

Python Django CreateView具有多个字段?

Python Django CreateView具有多个字段?,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我已经做了几天的工作,我在这里看到了一些类似的帖子,但是我仍然很难得到它 我将发布一个小片段 我有一个配方模型,有很多字段,但我会发布我所指的那个 ingredients = models.ManyToManyField('recipes.Ingredient', related_name='in_recipes') 然后我有一个成分模型,当然还有名称、描述等 我希望能够有一个CreateView,在那里我可以添加任何数量的成分到一个单一的食谱 我只能列出数据库中已经存在的成分。我正在

我已经做了几天的工作,我在这里看到了一些类似的帖子,但是我仍然很难得到它

我将发布一个小片段

我有一个配方模型,有很多字段,但我会发布我所指的那个

    ingredients = models.ManyToManyField('recipes.Ingredient', related_name='in_recipes')
然后我有一个
成分
模型,当然还有名称、描述等

我希望能够有一个CreateView,在那里我可以添加任何数量的成分到一个单一的食谱

我只能列出数据库中已经存在的成分。我正在寻找一个单一的配方形式,包括成分形式和字段


任何帮助都将不胜感激

配料=模型.ManyToManyField(配料,相关的配方名称)

确保将多对多关系仅放在ingerdients模型或Recipes模型中,不是两种型号都有


并且,建议您删除有关创建视图的任何片段,以进一步了解该问题。

您可以在保存配方后保存配料

class RecipeCreateView(CreateView):

    def save_ingredients(self, recipe):
        ingredients_names = self.request.POST.getlist('ingredients_names')
        for name in ingredients_names:
            ....

    def post(self, request, *args, **kwargs):
        response = super().post(request, *args, **kwargs)
        self.save_ingredients(self.object)
        return response