问题描述
class DataSheetsCluster(models.Model):
"""
Represents a group of datasheets made by the owner.
Has it's own icon,name and description.
A parent can only have one owner at a time.
"""
class Meta:
permissions = [
('READ_DATA','can read cluster data'),('WRITE_DATA','can write to cluster'),('MANAGE_CLUSTER','can manage cluster'),('MANAGE_FIELD_DATA',"can manage cluster's field data"),('MANAGE_DATASHEETS',"can manage cluster's datasheets"),('MANAGE_ROLES',"can manage cluster's roles"),('MANAGE_FIELDS',"can manage cluster's fields")
]
objects = models.Manager()
id = models.BigAutoField(primary_key=True,db_index=True,editable=False,auto_created=True)
name = models.CharField(max_length=50)
description = models.CharField(max_length=1024,db_index=True)
members = models.ManyToManyField('api_backend.Member')
roles = models.ManyToManyField('api_backend.Role')
datasheets = models.ManyToManyField(DataSheet)
total_size_limit = models.FloatField(null=True,blank=True,db_index=True)
created_at = models.DateTimeField(auto_Now=True,db_index=True)
required_FIELDS = [name]
class DataSheet(models.Model):
"""
Represents a single dataSheet.
dataSheets have their own model at the core. Model data is added to
the dataSheets in the form of separate records.
"""
class Meta:
permissions = [
('READ_DATA','can read datasheet data'),'can write to datasheet'),"can manage datasheet's field data"),"can manage datasheet's roles"),"can manage datasheet's fields")
]
objects = models.Manager()
id = models.BigAutoField(primary_key=True,auto_created=True)
name = models.CharField(max_length=75,db_index=True)
description = models.CharField(max_length=1024,db_index=True)
owner = models.ForeignKey('api_backend.Member',on_delete=models.CASCADE,db_index=True)
fields = models.ManyToManyField('api_backend.DataSheetField')
overwrites = models.ManyToManyField('api_backend.RoleOverwrite')
parent = models.ForeignKey('api_backend.DataSheetsCategory',null=True,blank=True)
cluster = models.ForeignKey('api_backend.DataSheetsCluster',db_index=True)
required_FIELDS = [name,owner,cluster]
它们背后的想法是,它们都必须具有相同的通用权限集[例如 READ_DATA
、WRITE_DATA
和 MANAGE_ROLES
]。
但是,当我访问 DataSheetsCluster 的 READ_DATA
权限时,它指的是与数据表的 READ_DATA
权限不同的内容,
就像为 DataSheetsCluster 设置的权限是一个全局权限集, 另一个是相同的本地集。
这个想法可以在django中实现吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)