Tuesday, December 3, 2013

Re: Save the user from one model to the another model

You're probably looking for something along the lines of:

thread = Thread.objects.get(id=<someid>)
msg = Message.objects.get(id=<someid>)

thread.user.add(msg.sender)

Look at add() and remove() methods in documentation (search for related managers).

FYI - it's a good practice to name fields that use ManyToMany field in plural, i.e. Thread.users would be better than Thread.user

HTH

Jirka

From: Aamu Padi <aamupadi@gmail.com>
Sender: django-users@googlegroups.com
Date: Tue, 3 Dec 2013 04:19:55 +0530
To: <django-users@googlegroups.com>
ReplyTo: django-users@googlegroups.com
Subject: Save the user from one model to the another model

What I want to do is, whenever I create a new message, I want the sender of the Message to be added to the user of the Thread. How do I do that?
 
class Thread(models.Model):
    user = models.ManyToManyField(User)
    is_hidden = models.ManyToManyField(User, related_name='hidden_thread', blank=True)

    def __unicode__(self):
        return unicode(self.id)

class Message(models.Model):
    thread = models.ForeignKey(Thread)
    sent_date = models.DateTimeField(default=datetime.now)
    sender = models.ForeignKey(User)
    body = models.TextField()
    is_hidden = models.ManyToManyField(User, related_name='hidden_message', blank=True)

    def __unicode__(self):
        return "%s - %s" % (unicode(self.thread.id), self.body)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAHSNPWveL8rqDLenDLayGrtC_RAwQ-Pfp0SYravr7%2BuJzhBhXw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment