Django 多对多字段
在我的模型中,我有:
class Poll(models.Model):
topic = models.CharField(max_length=200)
tags = models.ManyToManyField(Tag)
我正在尝试创建一个投票对象,并像这样存储标签:
Tags = []
for splitTag in splitTags:
tag = Tag(name = splitTag.lower())
tag.save()
Tags.append(tag)
我该如何设置 Tags
数组并将其分配给 tags
呢?
我试过:
poll = Poll(topic=topic, tags = Tags)
poll.save()
2 个回答
3
我看到你在尝试自己建立一个标签系统,但我觉得你可以看看已经存在的标签系统,这样可能会对你有帮助。
http://code.google.com/p/django-tagging/
我在我的应用中使用这个,它的接口非常棒。
12
嗯,应该更像这样:
models.py
class Tag(models.Model):
name = models.CharField(max_length=200)
class Poll(models.Model):
topic = models.CharField(max_length=200)
tags = models.ManyToManyField(Tag)
in views.py:
poll = Poll(topic="My topic")
poll.save()
for splitTag in splitTags:
tag = Tag(name = splitTag.lower())
tag.save()
poll.tags.add(tag)
poll.save()