在django中将数据保存到ManyToManyField错误?

时间:2012-12-21 05:57:52

标签: python django many-to-many add

这是模型

class Question(models.Model):
    question = models.CharField(max_length = 200)
    questionbody = models.TextField()
    author = models.ForeignKey(User)
    tags = models.ManyToManyField(Tag)
    timestamp = models.DateTimeField('question post date')

这是view.py

    stags = request.POST['tag']
    ltags = stags.split(',')
    q = Question(
        question = request.POST['question'],
        questionbody = request.POST['questionbody'],
        author = request.user,
        timestamp = datetime.datetime.now()
        )
    q.save();

    for i in ltags:
        # print i        ouyput:jquery

        # print type(i)  ouyput:unicode

        # s = Tag.objects.get(name=i)
        s = Tag.objects.get(name='jquery')

        q.tags.add(s)

你可以看到'tag'输入是'string,string'格式的字符串,所以我把它改成一个列表(ltags),

但是当我尝试添加像

这样的标签时,在for循环中
s = Tag.objects.get(name=i)

提问,有一个错误说

" Tag matching query does not exist ".

但是当我使用s = Tag.objects.get(name ='jquery')时,它可以工作。

请帮忙!

1 个答案:

答案 0 :(得分:0)

我的不好,事实证明'我'确实包含一个尾随空格,我很抱歉