ant*_*ero 5 django django-admin django-permissions
我需要为管理员进行"所有者"登录.假设我们有这个模型结构:
class Product(models.Model):
owner = models.ManyToManyField(User)
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
photos = models.ManyToManyField(Photo, through='ProductPhoto')
class Photo(models.Model):
order = models.IntegerField()
image = models.ImageField(upload_to='photos')
alt = models.CharField(max_length=255)
class ProductPhoto(models.Model):
photo = models.ForeignKey(Photo)
product = models.ForeignKey(Product)
Run Code Online (Sandbox Code Playgroud)
我们有一个组称为Owners某些用户是其中的一部分.这ProductPhoto是管理页面TabularInline上的一个Product.
现在,所有者需要编辑权限
(主要目标) 只有产品在哪里product__in=user.products(所以基本上只有他们拥有的产品).
(次要目标) 只是在描述和照片的产品
如何使用Django的管理/权限系统执行此操作?
这是行(或对象)级别的权限。Django 提供了对对象权限的基本支持,但由您来实现代码。
幸运的是,有一些应用程序提供了嵌入式对象级权限框架。django-guardian是我以前用过的一种。djangopackages.com 上的此页面提供了更多内容,您可以尝试。
| 归档时间: |
|
| 查看次数: |
4878 次 |
| 最近记录: |