Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django ManyToManyField

Tags:

python

django

In my model I have:

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

I'm trying to create the Poll object and store tags like so:

Tags = []
for splitTag in splitTags:
    tag = Tag(name = splitTag.lower())
    tag.save()
    Tags.append(tag)

How do I set the Tags array and assign it to tags?

I have tried:

    poll = Poll(topic=topic, tags = Tags)
    poll.save()
like image 292
LB. Avatar asked Dec 07 '22 23:12

LB.


1 Answers

Well, it should be more like this:

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()
like image 118
Uku Loskit Avatar answered Dec 09 '22 15:12

Uku Loskit