django中ManyToManyField字段的添加操作——注意!!

django中的ManyToManyField字段会自动生成另外一张表,如果我们按照以前的操作

info=表名.objects.create(。。。)

这样为含有ManyToManyField字段的数据表添加记录会报错,提示你字段是非法的。那么,我们就必需换一种方法了,如下:

info=dutyInfo.objects.create( 。。。)
info.first=watch.objects.filter(name=request.POST['first'])
info.second=watch.objects.filter(name=request.POST['second'])
info.urgent=watch.objects.filter(name=request.POST['urgent'])

像这样,先新建一个表对象,再去为ManyToManyField字段去添加信息,一切就OK了!

还有一点,当删除的时候,我们就不需要再删除两次了,删除了info,则系统生成的另外一张表中的信息也自动删除了。

posted @ 2012-04-12 11:50  jianhong  阅读(2616)  评论(0编辑  收藏  举报