Администратор Django — предоставление пользователям доступа к определенным объектам/полям?

Мне нужно создать учетную запись «владельца» для админ. Скажем, у нас есть следующая структура модели:

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.

Теперь владельцам требуется разрешение на редактирование

  1. (основная цель)толькопродуктов, где product__in=user.products(по сути, только продукты, принадлежащие им).

  2. (второстепенная цель)толькоописаниеи фотографиипродуктов

Как мне сделать это с помощью системы администрирования/разрешений Django?

5
задан bradley.ayers 24 July 2012 в 00:36
поделиться