Мне нужно создать учетную запись «владельца» для админ. Скажем, у нас есть следующая структура модели:
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)
У нас есть группа под названием Владельцы
, частью которой являются некоторые пользователи. ProductPhoto
— это TabularInline
на странице администратора Product
.
Теперь владельцам требуется разрешение на редактирование
(основная цель)толькопродуктов, где product__in=user.products
(по сути, только продукты, принадлежащие им).
(второстепенная цель)толькоописаниеи фотографиипродуктов
Как мне сделать это с помощью системы администрирования/разрешений Django?