簡體   English   中英

Django ManyToMany字段返回錯誤“對象沒有屬性”

[英]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”。

有任何想法嗎?

正如錯誤所言: lineLineForm的實例,而不是Line的實例。 您需要保存表單對象以獲取實際的更新模型實例:

line_obj = line.save()

盡管您可能應該重命名混亂的line對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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