Django запрос по нескольким таблицам - PullRequest
0 голосов
/ 31 января 2012

У меня так много проблем с формированием правильного запроса, чтобы получить мой результат ...

from django.db import models
from django.contrib.auth.models import User

class GeoCatch(models.Model):
    user_me = models.ForeignKey(User, null=True, related_name='me')
    user_he = models.ForeignKey(User, null=True, related_name='he')
    permission_he = models.BooleanField(default=False)
    permission_me = models.BooleanField(default=False)

Мне нужен запрос:

получить имена в djangos Userтаблица различных user_he, которые имеют user_me = 1 и имеютmission_he = True и license_me = True

Этот и несколько других запросов не были успешными ...

get_friends =  User.objects.values_list('username').filter(geoCatch__user_me=id)/
.filter(permission_he = True).filter(permission_me= True)

Дает мне ошибку:

django.core.exceptions.FieldError: Невозможно разрешить ключевое слово 'geoCatch' в поле.

Ответы [ 2 ]

2 голосов
/ 31 января 2012
friends = GeoCatch.objects.filter(user_me=User.objects.get(pk=id)) \
                    .filter(permission_me=True) \
                    .filter(permission_he=True).user_he_set.all()
1 голос
/ 31 января 2012
# id is an id of a user object
get_friends =  User.objects.values_list('username', flat=True)\
    .filter(me__user_me__id=id, me__permission_he = True, me__permission_me= True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...