Разрешение поставщика в Django

#python #django #django-rest-framework

#python #django #django-rest-framework

Вопрос:

Как установить разрешения в Django, чтобы поставщик мог удалять или обновлять свой собственный продукт, а не другие.

Это означает, что если они входят в систему из своей учетной записи, они могут обновлять или удалять только свой собственный продукт, а не другие.

Комментарии:

1. Как вы моделировали «владение» продуктом? Как ваши продукты и поставщики представлены в базе данных.

Ответ №1:

Вы можете использовать LoginRequiredMixin в своем классе views, чтобы ограничить доступ к запросам, если пользователь не прошел проверку подлинности.

   {% if yourfield.owner_id == user.id %}
    (<a href="{% url 'link to update view ' yourfield.id %}">Edit</a> |
    <a href="{% url 'link to delete view' yourfield.id %}">Delete</a>)
    {% endif %}
  

Также используйте этот ваш html-шаблон, чтобы отображать ссылку «обновлено и удалить» только в том случае, если пользователь является текущим зарегистрированным пользователем, учитывая, что у вас есть поле owner в вашей модели, связанное с таблицей auth_users .