我有关于以下模型的问题。我想从views.py中填入ManyToManyField
,而不是从管理员那里填写。Django:如何将数据保存到ManyToManyField?
但是,如何将数据添加到genres
字段即ManyToManyField
?
views.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()
models.py
class Movie_Info_genre(models.Model):
genre = models.CharField(max_length=100)
class Movie_Info(models.Model):
id = models.IntegerField(primary_key=True)
title = models.CharField(max_length=100, blank=True, null=True)
overview = models.TextField(blank=True, null=True)
release_date = models.CharField(max_length=10, blank=True, null=True)
genres = models.ManyToManyField(Movie_Info_genre)
无关风格的建议:在Python/Django中,强烈建议命名类'MovieInfo'或'MovieInfoGenre'(或者只是'MovieGenre'或者甚至'Genre'),而不是在那里使用下划线。另外,这可能是一个SO格式问题,但是在制作“内容”时会产生一定程度的缩进。 :)另外,'release_date'应该可以是'DateField'。 – Dougal 2012-04-28 17:59:42
@Dougal,谢谢你的建议。关于缩进,我正在使用一个插件,这对我来说;) – starcorn 2012-04-28 20:22:40
另外,模型中不需要特殊的“id”字段。 Django自动为你做。 – 2015-09-21 13:09:07