1
這是模型將數據保存到django中的ManyToManyField錯誤?
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)
就像你看到的「標籤」輸入爲「字符串,字符串」格式字符串,所以我改變它到列表(ltags),
但在for循環,當我嘗試添加標籤,如
s = Tag.objects.get(name=i)
到的問題,有一個錯誤說
" Tag matching query does not exist ".
但是當我使用S = Tag.objects.get(NAME = 'jQuery的'),它的工作原理。
請幫忙!
你肯定'i'不包含任何額外的字符,如空間? – Rohan
您是否嘗試過使用標記實例列表 – Charl
也許它在jquery以外的'ltags'項目上失敗?將'print i'留在那裏,並查看哪個標記是錯誤發生之前處理的最後一個標記。 – tom