我有一个模型类饮食计划,其中有一个多对多的领域命名为早餐。在my view.py中,我做了一些计算,得到了一个嵌套列表形式的早餐值,即[['abc','asda',['val3','val4']]
我想在我的多对多领域中列出这4个列表
这是我的密码:
型号.PY\
class Dietplan(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
dietplan_name = models.CharField(max_length=255, null=True)
breakfast = models.ManyToManyField('Meal',
related_name='breakfast_meal_name',)
snacks1 = models.ManyToManyField('Meal',
related_name='snacks1_meal_name',)
lunch = models.ManyToManyField('Meal', related_name='lunch_meal_name',)
snacks2 = models.ManyToManyField('Meal',
related_name='snacks2_meal_name',)
dinner = models.ManyToManyField('Meal', related_name='dinner_meal_name',)
calories_slab = models.IntegerField(blank=True, null=True)
视图.PY
def dietplan(request):
d = Dietplan.objects.get(id = request.user.id)
d.dietplan_name = 'abc'
d.breakfast.set(','.join(breakfast))
d.save()
显示不可损坏的列表类型错误
假设用餐对象已经存在,首先应该从它们的名称获取它们。您可以尝试以下方法:
收集它们之后,可以将它们附加到manytomany关系中,如下所示:
注意:我还没有在django中测试代码,请告诉我这会引起一些错误
相关问题 更多 >
编程相关推荐