Redefine RelatedManager

11 views
Skip to first unread message

Горобец Дмитрий

unread,
Jan 21, 2016, 7:26:32 AM1/21/16
to Django users
Hello.

Is there any way to redefine a relatedmanager for one field with foreignkey? 

For example:

class Contract(models.Model):
   name = models.CharField(max_length=255, db_index=True)
   owner = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='contracts')

class AppUser(AbstractUser):
    account_manager = models.ForeignKey('self', null=True, blank=True, related_name='clients')

    @property
    def is_manager(self):
        return self.groups.filter(name='managers').exists()

    @property
    def is_client(self):
        return self.groups.filter(name='clients').exists()
________________________________________________________

manager = AppUser.objects.get(id=1)
manager.contracts.all()

client = AppUser.objects.get(id=2)
client.contracts.all()

When I call manager.contracts.all(), I s that associated witwant to get contracth this manager and his clients contracts. And when I call client.contracts.all(), I want to get only client's contracts. 




Reply all
Reply to author
Forward
0 new messages