[英]Django CreateView with a ManyToMany field?
我已经做了几天的工作,我在这里看到了一些类似的帖子,但我仍然无法获得它!
我将发布一个小片段。
我有一个食谱 model,有很多字段,但我会发布我所指的那个。
ingredients = models.ManyToManyField('recipes.Ingredient', related_name='in_recipes')
然后我当然有一个Ingredient
model,带有名称、描述等。
我希望能够拥有一个 CreateView,我可以在其中将任意数量的成分添加到单个食谱中。
我只能列出我的数据库中已经存在的成分。 我正在寻找一个包含成分表和字段的单一配方表。
任何帮助将不胜感激!
成分 = models.ManyToManyField(成分,related_name='in_recipes')
确保仅将多对多关系放在成分 model 或食谱 model 中,而不是在两种模型中!
并且建议使用有关创建视图的任何片段来更多地了解该问题。
保存食谱后,您可以保存配料。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.