i have this model i need to assign permission Relation model to object TableRelation model because i want have one model permission
class Relation(models.Model):
title = models.CharField(max_length=100)
layer = models.ForeignKey(Layer, blank=True, null=True, on_delete=models.CASCADE)
related_from_table = models.CharField(max_length=150, default='', blank=True)
related_from_connection = models.ForeignKey(DataBaseProfile, null=True, on_delete=models.CASCADE)
related_source_field = models.CharField(max_length=150)
def __str__(self):
return self.title
class Meta:
permissions = (
('view_relate', 'Can view relate'),
('delete_relate', 'Can delete relate'),
('add_relate', 'Can add relate'),
('edit_relate', 'Can edit relate'),
)
class TableRelation(Relation):
connection = models.ForeignKey(DataBaseProfile, blank=False, on_delete=models.PROTECT)
related_table = models.CharField(max_length=150)
related_destination_field = models.CharField(max_length=150)
related_table_fields = JSONField()
related_table_fields_view = JSONField(default=dict)
form = models.OneToOneField(Form, null=True, on_delete=models.CASCADE)
class Meta:
default_permissions = ()
class APIRelation(Relation):
class Meta:
default_permissions = ()
api_profile = models.ForeignKey(
APIProfile,
on_delete=models.CASCADE)
connection = models.ForeignKey(DataBaseProfile, blank=True, null=True, on_delete=models.PROTECT)
I want to use parent-class permissions and not create separate permissions on the chile models. for example:
from guardian.shortcuts import assign_perm
assign_perm('relates.view_relation', user, table_relate_obj)
assign_perm('relates.add_relation', user, table_relate_obj)
assign_perm('relates.change_relation', user, table_relate_obj)
assign_perm('relates.delete_relation', user, table_relate_obj)
that do not work this example thanks