Django:如何将数据保存到ManyToManyField?

时间:2012-04-28 17:51:35

标签: django django-models

我对以下型号有疑问。我想从views.py填充ManyToManyField,而不是从管理员那里填充。

但是如何将数据添加到genres的{​​{1}}字段?

views.py

ManyToManyField

models.py

content = Movie_Info(id = m_id,
                    title = data[0].get('title'),
                    overview = data[0].get('overview'),
                    release_date = data[0].get('release_date'),
                )
content.save()

1 个答案:

答案 0 :(得分:47)

使用add method for related fields

# using Model.object.create is a shortcut to instantiating, then calling save()
myMoveInfo = Movie_Info.objects.create(title='foo', overview='bar')
myMovieGenre = Movie_Info_genre.objects.create(genre='horror')
myMovieInfo.genres.add(myMoveGenre)

与修改其他字段不同,在执行此操作之前,两个模型必须存在于数据库中,因此在添加多对多关系之前必须调用save。由于add会立即影响数据库,因此您无需事后保存。