Django ManyToManyField - PullRequest
       7

Django ManyToManyField

4 голосов
/ 06 февраля 2011

В моей модели у меня есть:

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 ]

12 голосов
/ 06 февраля 2011

Ну, это должно быть больше так:

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 голосов
/ 06 февраля 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...