Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Получить текущего пользователья в админке [RSS Feed]

#1 Янв. 17, 2012 09:46:09

barabansheg
От:
Зарегистрирован: 2011-10-16
Сообщения: 114
Репутация: +  2  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

Доброго времени суток! Есть простенькая модель:

class Articles(models.Model , request):
title = models.CharField(max_length = 255, verbose_name=u"Заголовок")
text = models.TextField(verbose_name=u"Текст", default = request.user)
category = models.ForeignKey(Categories, verbose_name=u"Категория")
author = models.ForeignKey(User, verbose_name=u"Автор")
pub_date = models.DateTimeField(verbose_name=u"Дата публикации")
Хочется что бы в поле author автоматом подставлялся id того, кто, например, добавляет запись. Читал, что id зарыт в request, но как получить request?
з.ы. как сделать так, что бы это поле не показывалось в админке(например имело тип type=“hidden”)?



Fidonet. Nod 2:5034/10. Идет набор. Подробности в личку.
Мой блог

Офлайн

#2 Янв. 17, 2012 11:52:59

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

barabansheg
Доброго времени суток! Есть простенькая модель:
class Articles(models.Model , request):
title = models.CharField(max_length = 255, verbose_name=u"Заголовок")
text = models.TextField(verbose_name=u"Текст", default = request.user)
category = models.ForeignKey(Categories, verbose_name=u"Категория")
author = models.ForeignKey(User, verbose_name=u"Автор")
pub_date = models.DateTimeField(verbose_name=u"Дата публикации")
Хочется что бы в поле author автоматом подставлялся id того, кто, например, добавляет запись. Читал, что id зарыт в request, но как получить request?
з.ы. как сделать так, что бы это поле не показывалось в админке(например имело тип type=“hidden”)?
Мне кажется, лучше всего переопределить save() у модели, с необязательным параметром request.
save() все равно вызываете из view, а там request известен.
Правда в этом случае придется либо выдергивать поля из формы в модель вручную, либо переписывать save() формы.



Офлайн

#3 Янв. 17, 2012 11:56:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

barabansheg
з.ы. как сделать так, что бы это поле не показывалось в админке(например имело тип type=“hidden”)?
admin.py
from django.contrib import admin
from myproject.myapp.models import Articles

class ArticlesAdmin(admin.ModelAdmin):
exclude = ('ПОЛЕ',)
admin.site.register(Articlesr, ArticlesAdmin)



Офлайн

#4 Янв. 18, 2012 16:32:01

barabansheg
От:
Зарегистрирован: 2011-10-16
Сообщения: 114
Репутация: +  2  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

А вот про переопределение save() не слышал =) Надо почитать.



Fidonet. Nod 2:5034/10. Идет набор. Подробности в личку.
Мой блог

Офлайн

#5 Янв. 18, 2012 18:44:45

andreyjkee
От:
Зарегистрирован: 2011-11-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

Как то это не очень, может есть более простой метод получить имя пользователя?



Офлайн

#6 Янв. 18, 2012 23:15:28

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

Офлайн

#7 Янв. 20, 2012 17:16:18

andreyjkee
От:
Зарегистрирован: 2011-11-18
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить текущего пользователья в админке

Спасибо, я думал это будет сложнее =)



Офлайн

  • Начало
  • » Django
  • » Получить текущего пользователья в админке[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version