#wagtail #userid #modeladmin
Вопрос:
У меня есть какая-то модель, как показано ниже, на моем веб-сайте, похожем на блог, я надеюсь, что разные пользователи смогут запрашивать свои собственные данные. ИТАК, мне нужно сохранить идентификатор пользователя в моей модели.
Однако у администратора модели трясогузки есть только get_queryset (), но нет save_model()
class Info(Orderable):
user = models.ForeignKey('auth.User',
on_delete=models.CASCADE,
blank=False, null=True,
related_name=' ',)
Есть ли способ сохранить идентификатор пользователя в панели администратора wagtail?
Ответ №1:
Другой способ-предварительно заполнить его, я стараюсь это сделать, и это хорошо работает.
def create_view(self, request):
view = super().create_view(request)
self._set_username(view, request)
return view
def _set_username(self, view, request):
if hasattr(view, 'context_data'):
form = view.context_data['form']
form.fields['name'].widget.attrs['value'] = request.user
Ответ №2:
если вы имеете в виду (с) админ, да можно, но если вы имеете в виду в админ-панель от класса модели, нет вы не можете, обработке запроса обязанность представления(контроллеры) если URL-адрес запрашивается представление оценить многие вещи, одной из них является запрос.пользователей, и это один объект модели пользователя, то вы можете задать идентификатор по (запросу.пользователей.удостоверение личности).. но, конечно, в views.py, или wagtail_hooks.py
Комментарии:
1. Я надеюсь, что смогу сохранить идентификатор пользователя с помощью modeladmin(wagtail_hooks.py), я могу получить идентификатор пользователя с помощью get_queryset(), но можно ли предварительно заполнить его в поле пользователя формы(панель администратора) ?