Miguel Ike
Miguel Ike

Reputation: 484

How to make multiple user own an object in django?

Newbie here.

Want to ask how 1 instance of an object can be owned or managed by multiple user?

I have a class:

class Todo(models.Model):
    todolist = models.ForeignKey('TodoList', default=1)
    todo = models.TextField(max_length=5000)
    order = models.PositiveIntegerField(default=1)
    status = models.SlugField(choices=STATUS_CHOICES)
    description = models.TextField(max_length=5000, null=True, blank=True)
    due_date  = models.DateTimeField(blank=True, null=True)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated = models.DateTimeField(auto_now=True, auto_now_add=False)

    def __unicode__(self):
        return self.todo

class TodoList(models.Model):
    title = models.CharField(max_length=120)
    order = models.PositiveIntegerField(default=1)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated = models.DateTimeField(auto_now=True, auto_now_add=False)

    def __unicode__(self):
        return self.title

What should I to enable multiple users to work on an instance of TodoList?

Upvotes: 1

Views: 46

Answers (1)

Wtower
Wtower

Reputation: 19902

You need to use a ManyToManyField:

from django.contrib.auth.models import User

class TodoList(models.Model):
    users = models.ManyToManyField(User)

Upvotes: 1

Related Questions