簡體   English   中英

Django CreateView 與多對多字段?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM