diff --git a/sifrovacka/admin.py b/sifrovacka/admin.py
index ff980cd9..ec159726 100644
--- a/sifrovacka/admin.py
+++ b/sifrovacka/admin.py
@@ -1,8 +1,9 @@
 from django.contrib import admin
 
-from .models import OdpovedUcastnika, SpravnaOdpoved, NapovezenoUcastnikovi, Napoveda
+from .models import OdpovedUcastnika, SpravnaOdpoved, NapovezenoUcastnikovi, Napoveda, SeznamSifer
 
 admin.site.register(OdpovedUcastnika)
 admin.site.register(SpravnaOdpoved)
 admin.site.register(Napoveda)
 admin.site.register(NapovezenoUcastnikovi)
+admin.site.register(SeznamSifer)
diff --git a/sifrovacka/migrations/0008_seznamsifer.py b/sifrovacka/migrations/0008_seznamsifer.py
new file mode 100644
index 00000000..ea211afe
--- /dev/null
+++ b/sifrovacka/migrations/0008_seznamsifer.py
@@ -0,0 +1,21 @@
+# Generated by Django 4.2.20 on 2025-03-19 21:39
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('sifrovacka', '0007_alter_napoveda_sifra_and_more'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='SeznamSifer',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('jmeno', models.CharField(help_text='něco co jde zadat do adresy', max_length=255, verbose_name='Jméno seznamu')),
+                ('sifry', models.ManyToManyField(to='sifrovacka.spravnaodpoved')),
+            ],
+        ),
+    ]
diff --git a/sifrovacka/models.py b/sifrovacka/models.py
index 5745dd8f..e96a6d99 100644
--- a/sifrovacka/models.py
+++ b/sifrovacka/models.py
@@ -39,3 +39,10 @@ class Napoveda(models.Model):
 
 	def __str__(self):
 		return f"{self.sifra}: {self.text}"
+
+class SeznamSifer(models.Model):
+	jmeno = models.CharField("Jméno seznamu", max_length=255, blank=False, null=False, help_text="něco co jde zadat do adresy")
+	sifry = models.ManyToManyField(SpravnaOdpoved)
+
+	def __str__(self):
+		return f"{self.jmeno}"
diff --git a/sifrovacka/urls.py b/sifrovacka/urls.py
index 1357ef27..63e9a5c2 100644
--- a/sifrovacka/urls.py
+++ b/sifrovacka/urls.py
@@ -1,7 +1,7 @@
 from django.urls import path
 
 from personalni.utils import org_required, resitel_or_org_required
-from .views import SifrovackaView, SifrovackaListView, NapovedaView, NapovedaListView, PreskoceniView
+from .views import SifrovackaView, SifrovackaListView, SifrovackaNektereListView, NapovedaView, NapovedaListView, PreskoceniView
 
 urlpatterns = [
 	path(
@@ -14,6 +14,11 @@ urlpatterns = [
 		org_required(SifrovackaListView.as_view()),
 		name='sifrovacka_odpovedi'
 	),
+	path(
+		'odpovedi/<str:seznam>/',
+		org_required(SifrovackaNektereListView.as_view()),
+		name='sifrovacka_odpovedi_nektere'
+	),
 	path(
 		'napoveda/',
 		resitel_or_org_required(NapovedaView.as_view()),
diff --git a/sifrovacka/views.py b/sifrovacka/views.py
index 40838dac..a525131a 100644
--- a/sifrovacka/views.py
+++ b/sifrovacka/views.py
@@ -1,9 +1,10 @@
+from django.shortcuts import get_object_or_404
 from django.urls import reverse
 from django.views.generic import FormView, ListView
 
 from various.views.pomocne import formularOKView
 from .forms import SifrovackaForm, NapovedaForm
-from .models import OdpovedUcastnika, SpravnaOdpoved, Napoveda, NapovezenoUcastnikovi
+from .models import OdpovedUcastnika, SpravnaOdpoved, Napoveda, NapovezenoUcastnikovi, SeznamSifer
 from personalni.models import Resitel
 
 
@@ -30,6 +31,12 @@ class SifrovackaListView(ListView):
 	template_name = 'sifrovacka/odpovedi_list.html'
 	model = OdpovedUcastnika
 
+class SifrovackaNektereListView(SifrovackaListView):
+	def get_queryset(self):
+		seznam = get_object_or_404(SeznamSifer, jmeno=self.kwargs['seznam'])
+		orig = super().get_queryset()
+		return orig.filter(sifra__in=seznam.sifry.all().values('sifra')) # poslední je kvůli tomu, že máme odkaz na celý objekt a ne jen na jméno šifry.
+
 
 class NapovedaView(FormView):
 	template_name = 'sifrovacka/napoveda.html'