#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 .