[英]Django ManyToMany field returns error 'object has no attribute'
类似的还有职位,这个喜欢这一个 ,但他们都不回答我的问题。 我正在尝试使用ModelForms
将某些东西添加到Django中的ManyToMany
字段中,但是我一直遇到错误。 我的代码如下所示:
models.py:
class LineSection(models.Model):
...
class Line(models.Model):
line_id = models.IntegerField()
...
sections = models.ManyToManyField(LineSection)
class LineForm(ModelForm):
class Meta:
model = Line
fields = [...,'sections']
views.py:
partialLine = Line(user=1001)
line = LineForm(request.POST.copy(), instance=partialLine)
...
newSect = Section(sect_id=sectId,
point_list=sect['point_list'],
...)
try:
newSect.save()
line.sections.add(newSect)
except Exception as e: ...
我收到错误:
“ LineForm”对象没有属性“ sections”。
有任何想法吗?
正如错误所言: line
是LineForm
的实例,而不是Line
的实例。 您需要保存表单对象以获取实际的更新模型实例:
line_obj = line.save()
尽管您可能应该重命名混乱的line
对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.