Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Jiří Míšek

Stran: [1]
1
Vývoj / Re:Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 20:52:12 »
Přemýšlel jsem jestli by to nešlo plnit ve funkci co volám ve view, kde by se to plnilo do jedné proměnné abych se vyhl druhému cyklu

2
Vývoj / Re:Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 18:58:59 »
Šak tak to mám už teď, jen v djangu jsem foreach nenašel tak jsem použil for.
stránkování jsem tam měl, ale chtěl jsem použít něco takového
https://www.jqueryscript.net/demo/Paginate-Sort-Filter-Table-Sortable/

3
Vývoj / Re:Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 17:44:22 »
Přesně jak říkáš, já si první vypíšu obsah dodáku (číslo adresa datum atd) a pak hledám v dalším tabulce ve které jsou jen návzi položek a relace
takhle vypadá model

class DodakModel(models.Model):
    uuid = ShortUUIDField(unique=True)
    projekt = models.ForeignKey(ProjektModel, on_delete=models.CASCADE, related_name='projekt')
    vlastnik = models.ForeignKey(User,on_delete=models.CASCADE)
    datumVytvoreni = models.DateTimeField(default=timezone.now, editable=False)
    datumVystaveni = models.DateTimeField(default=timezone.now)
    cisloDodaku = models.CharField(max_length=20)
    adresaOdberatel = models.TextField(max_length=200)
    adresaDodavatel = models.TextField(max_length=200)
    atd.

    def __str__(self):
        return self.cisloDodaku

class DodakPolozkaModel(models.Model):
    dodak = models.ForeignKey(DodakModel,on_delete=models.CASCADE,related_name='dodak')
    polozka = models.CharField(max_length=75)
    pocet = models.IntegerField(default=1)
 

4
Vývoj / Re:Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 14:41:01 »
Nebo když už to chceš mít vše přednačtené a bez AJAXu, tak bych změnil model tak, aby už konkrétní dodák obsahoval ve svém atributu právě jen své položky a ty pak for cyklem vypíšeš bez nutnosti procházení celého listu všech položek všech dodáků.

{% for itemsx in item.polozky  %}
     {{ itemsx.polozka|slice:"20"  }}
{% endfor %}

Úplně přesně nechápu jak to myslíš, když je proměnný počet položek. Můžeš mi prosím poslat nějaký příklad?

5
Vývoj / Re:Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 14:33:25 »
Všechno najednou načítám kvůli jednoduššímu vyhledávání, které mi obsluhuje js v tabulce

6
Vývoj / Re:Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 14:05:49 »
je tam tabulka všech dodacích listů i s položkami kód viz níže,
ten druhý for mi dělá potíže je to asi 1000 položek


{% for item in model %}
<tr>
<td><a href="{% url 'dodak:DodakEdit' item.id %}"><i class="fa fa-pencil-square-o">[/url]
<a href="{% url 'dodak:DodakPrint' item.id  %} " target="_blank"><i class="fa fa-print">[/url]
<a href="pdf/{{item.id }}"><i class="fa fa-file-pdf-o" aria-hidden="true">[/url]
</td>
<td><a href="{% url 'dodak:DodakView' item.id %}">{{ item.cisloDodaku }}[/url]
</td>
<td>{{ item.datumVytvoreni }}</td>
<td>{{ item.projekt }}</td>
<td>{{ item.adresaOdberatel|slice:"20" }}</td>
<td>{{ item.cisloObjednavky }}</td>
<td>
 
{% for itemsx in items  %}
     {% if itemsx.dodak == item %}
               {{ itemsx.polozka|slice:"20"  }}

      {% endif %}
 {% endfor %}
 </td>
 <td>{% if item.soubor %}Ano{% else %}Ne{% endif %}</td>
 <td>{% if item.vyuctovano %}Ano{% else %}Ne{% endif %}</td>
</tr>
 {% endfor %}

7
Vývoj / Django rychlost cyklu for v templates
« kdy: 15. 12. 2022, 13:37:32 »
Zdravím všechny vespolek,
mám problém s rychlostí vykreslování dat v templates. Mám aplikaci typu dodací list s proměnným počtem položek.
V databázi mám zvlášť tabulku pro dodací list a položku dodacího listu. Ve html view mám seznam dodáků i položkami a to mi dělá problémy s rychlostí, stránka s cca 100 dodacími listy se zobrazuje zhruba 7 sekund a to je moc. Mám to řešené tak že se vypíše  dodák a pak prohledává celé tabulka s položkami a hledá ty které patří k dodáku. Takže cyklus prohledání všech položek se zopakuje ke každému dodáku. Nemáte někdo nápad jak by to šlo zjednodušit či zrychlit?
Díky moc za jakýkoliv nápad.

Stran: [1]