Существует ли инструмент в стандартных формах редактирования и удаления для запрешения их использования не залогинеными пользователями и «чужими» пользователями? Или лучше все-таки самому представления с формами писать?
Нужно: если зашел пользователь c auth_user.id = 12, то он может выполнить правку только той записи из таблицы myapp1_exuserprofile, для которой поле user_id=12.
Табличка с профилем так выглядит:
mysql> show fields from myapp1_exuserprofile;
+-------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | UNI | NULL | |
| first_name | varchar(100) | NO | | NULL | |
...
А проблема, вот она. Например, возьмем стандартную форму изменения таблицы:
class ExUserProfileFormUpdate(generic.UpdateView):
model = ExUserProfile
fields = '__all__'
С этой формой, пользователь может изменить данные у всех пользователей. А мне нужно, чтобы пользователь менял только свои данные.