2009-08-10 4 views
0

Я следующие задачи:Выбор объектов, связанных в Джанго

Мои приложения имеют 2 модели:

1)

class ActiveList(models.Model): 
    user = models.ForeignKey(User, unique=True) 
    updatedOn = models.DateTimeField(auto_now=True) 
    def __unicode__(self): 
     return self.user.username 

''' 
GameClaim class, to store game requests. 
''' 
class GameClaim(models.Model): 
    me = models.ForeignKey(ActiveList, related_name='gameclaim_me') 
    opponent = models.ForeignKey(ActiveList, related_name='gameclaim_opponent') 

На мой взгляд, я взял все ActiveList объекты все = ActiveList.objects. all() и передал его в шаблон

В шаблоне я просматриваю каждый элемент ActiveList и создаю xml-файл, который используется в моем клиентском приложении.

вопрос:

Как я могу запросить информацию о претензиях, которые один пользователь (например, тест, часть ActiveList), сделанный к пользователю, который находится под петлей

user2 например, принимается как это

{% for item in activeList %} 

{% endfor %} 

пользователь 2 является элементом в данном случае

ответ

1

То, что вы делаете, выглядит более правильно, чем шаблон. Я думаю, что вы хотите что-то вроде:

claimer = User.objects.get(name='test') 
claimed_opponents = User.objects.filter(gameclaim_opponent__me__user=claimer) 

Затем вы можете передать их в свой шаблон и работать с ними напрямую.

Вы также можете взглянуть на переосмысление того, как ваши таблицы связаны друг с другом. Я думаю, что претензии должны, вероятно, идти прямо между пользователями, и должен ли данный пользователь активным быть внешним по отношению к отношениям. Я бы подумал, что пользователь должен иметь возможность требовать игру с неактивным пользователем, даже если им придется ждать, пока пользователь снова активирует игру до того, как начнется эта игра.

+0

Ну, 1) Я пытаюсь получить список активных игроков, он будет агрегатироваться следующим образом Имя пользователя 1 Мне было проще передать весь список шаблону, а затем цикл запустил его внутри шаблона. Не знаете, как я должен проходить каждый пользователь там один за другим ... Любая идея? 2) Я собираюсь добавить в игру некоторую интерактивность, поэтому думаю, что есть претензии только между активными пользователями. –

0

Я не уверен, что я полностью понимаю ваш вопрос, но я думаю, что информацию, которую вы смотрю г для может быть здесь: http://docs.djangoproject.com/en/dev/topics/db/queries/

Возможно, вы могли бы разъяснить вопрос, если вы не нашли там ответа?

Смежные вопросы