Как использовать метод get с полем внешнего ключа? - PullRequest
2 голосов
/ 04 января 2012

У меня есть модель с полем внешнего ключа user = models.ForeignKey(User), которое ссылается на модель User в django.contrib.auth.models.Я хотел бы сделать следующее:

ModelName.objects.get(user.username=request.user.username)

В указанном выше пункте моего кода я получаю следующую ошибку:

SyntaxError: keyword can't be an expression

Какой правильный синтаксис для этого?

Ответы [ 2 ]

4 голосов
/ 04 января 2012

Попробуйте ModelName.objects.get(user__username=request.user.username)

Редактировать: в зависимости от ваших модельных отношений это может привести к нескольким записям, и в этом случае get () выдаст исключение, так что вы можете использовать это вместо: ModelName.objects.filter(user__username=request.user.username)

1 голос
/ 05 января 2012

Еще один удобный способ получения объектов для конкретного пользователя - это

user = request.user
objs = user.modelname_set.get(pk=x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...