Django сортировка QuerySets
Здравствуйте, я делаю сайт администрации игр на django и мне нужна помощь с сортировкой 2 запросов. Вот мои модели.
class Game(models.Model):
game_name = models.CharField(max_length=30, primary_key=True)
stages = models.IntegerField(null=False)
registration_start = models.DateTimeField(null=False, blank=False)
registration_end = models.DateTimeField(null=False, blank=False)
game_start = models.DateTimeField(null=False, blank=False)
game_end = models.DateTimeField(null=False, blank=False)
max_players = models.IntegerField(null=False)
class GameControl(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
game_name = models.ForeignKey(Game,
on_delete=models.CASCADE)
start_time = models.DateTimeField(null=True, blank=True)
end_time = models.DateTimeField(null=True, blank=True)
progress = models.IntegerField(null=True, default=0)
game_time = models.DurationField(null=True, blank=True)
и мне нужно отделить от них зарегистрированные игровые_имена и незарегистрированные игровые_имена
@login_required(login_url='/signin')
def home(request):
current_user = request.user
registered = GameControl.objects.filter(user=current_user)
unregistered = Game.objects.all()
return render(request, "games/home.html", {'unregistered': unregistered ,'registered': registered })
Я пытался сделать это в шаблоне, но не получилось
{% for un in unregistered %}
{% if un.game_name in registered.game_name %}
<button type="button" class="btn">{{un.game_name}}
<i class="material-icons" style="float:
right;">close</i></span></button>
<br>
{% else %}
<button type="button" class="btn">{{un.game_name}}
<i class="material-icons" style="float:
right;">arrow_forward</i></span></button>
<br>
{% endif %}
{% endfor %}
Помогите пожалуйста <3.
В принципе, в представлении вы должны просто создать список зарегистрированных имен игр:
@login_required(login_url='/signin')
def home(request):
current_user = request.user
registered = GameControl.objects.filter(user=current_user)
unregistered = Game.objects.all()
return render(request, "games/home.html", {'unregistered': unregistered ,'registered_names': [reg.game_name for reg in registered] })
А затем шаблон:
{% for un in unregistered %}
{% if un.game_name in registered_names %}
<button type="button" class="btn">{{un.game_name}}
<i class="material-icons" style="float:
right;">close</i></span></button>
<br>
{% else %}
<button type="button" class="btn">{{un.game_name}}
<i class="material-icons" style="float:
right;">arrow_forward</i></span></button>
<br>
{% endif %}
{% endfor %}