【发布时间】:2012-04-28 17:51:34
【问题描述】:
我对以下型号有疑问。我想从views.py 中填充ManyToManyField,而不是从Admin 中填充。
但是如何将数据添加到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 格式问题,但在制作content时,缩进量非常可笑。 :) 另外,release_date应该是DateField。 -
@Dougal,感谢您的建议。关于缩进,我正在使用一个为我做的插件;)
-
另外,模型中不需要特殊的“id”字段。 Django 会自动为您完成。
标签: django django-models