Внешний ключ таблицы пользователя в django - PullRequest
2 голосов
/ 06 июля 2010

Я использую встроенный модуль django contrib.auth и настроил отношение внешнего ключа к пользователю, когда добавляется 'post':

class Post(models.Model):
    owner = models.ForeignKey('User')
    # ... etc.

Теперь, когда дело доходит до фактического добавления сообщения, я не уверен, что предоставить в поле владельца, прежде чем вызывать save (). Я ожидал что-то вроде идентификатора в сеансе пользователя, но заметил, что у пользователя нет атрибута user_id или id. Какие данные я должен извлечь из аутентифицированного сеанса пользователя, чтобы заполнить поле владельца? Я пытался увидеть, что происходит в таблице базы данных, но пока не слишком разбирался в настройке sqlite.

Спасибо за любую помощь ...

1 Ответ

4 голосов
/ 06 июля 2010

Вы хотите предоставить объект "Пользователь". То есть то же самое, что вы получите от User.objects.get (pk = 13).

Если вы используете компоненты аутентификации Django, пользователь также присоединяется к объекту запроса, и вы можете использовать его непосредственно из кода представления:

request.user

Если пользователь не аутентифицирован, Django вернет экземпляр django.contrib.auth.models.AnonymousUser. (за http://docs.djangoproject.com/en/dev/ref/request-response/#attributes)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...