2011-02-06 3 views
4

В моей модели у меня есть:Джанго ManyToManyField

class Poll(models.Model): 
    topic = models.CharField(max_length=200) 
    tags = models.ManyToManyField(Tag) 

Я пытаюсь создать объект Poll и хранить теги, как так:

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() 

ответ

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() 
3

Я вижу, что вы пытаетесь создать свою собственную систему тегов, но я думаю, что это может помогите, если вы посмотрите на уже существующую.

http://code.google.com/p/django-tagging/

я использую это в моих приложениях и имеет удивительный API для загрузки.

Смежные вопросы