Díky oběma. Už mi to fachá a pro přehlednost jsem zvolil první řešení, protože to mám přímo u formuláře a v budoucnu budu vědět do čeho případně sáhnout.
Pěkný den, Standa On 11 April 2021 at 7:50:57, Radim Novotny (novotny.ra...@gmail.com) wrote: Dá se využít i metoda label_from_instance v ModelChoiceField https://docs.djangoproject.com/en/3.1/ref/forms/fields/#django.forms.ModelChoiceField.iterator Stačí jednoduchý subclass ModelChoiceField jak je uvedeno v příkladu v dokumentaci. -- Radim On Sat, Apr 10, 2021 at 10:29 PM Pavel Cisar <cisarpa...@gmail.com> wrote: > Zdravim, > tak bych si predefinoval choices pro ten konretni field. Neco jako. > > *form.fields["coursedate"].queryset = > CourseDate.objects.filter(id__in=seznam).order_by('date_start’)* > *form.fields["coursedate"].widget.choices= [(d.id <http://d.id>, > d.get_custom_name()) for d in form.fields["coursedate"].queryset]* > > Nevim, jestli je field povinny, takze pripadne pridat jeste empty value. > Mozna je neco elegantnejsiho, ale tohle by mela byt taky cesta. > > Hodne zdaru > > Pavel > > > > so 10. 4. 2021 v 21:30 odesílatel Stanislav Vasko < > stanislav.va...@gmail.com> napsal: > >> Zdravím, >> >> asi už blbnu nebo prostě to nevidím, ale nemohu najít cestu, jak přetížit >> reprezentaci __str__ v queryset. Konkrétně, mám forms.ModelForm ve kterém >> mám i pole cizí klíč. Konkrétně pak tento cizí klíč omezuji: >> >> *form.fields["coursedate"].queryset = >> CourseDate.objects.filter(id__in=seznam).order_by('date_start’)* >> >> Pokud výsledek této filtrace pustím přímo do generovaného formuláře, pak >> jako výběr možností se nabídne __str__ z modelu CourseDate. Jenže já bych >> potřeboval, pro toto konkrétní použití, přejmenovat jednotlivé objekty, aby >> ve výběru vypadaly lépe než naše interní pojmenování. Ale nějak to nemohu >> vyGooglovat ani přes debugger se tomu ne a ne dostat na kobylku. Poradíte >> někdo? >> >> Díky předem, Standa >> >> -- >> -- >> E-mailová skupina django-cs@googlegroups.com >> Správa: http://groups.google.cz/group/django-cs >> --- >> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny >> „django-cs“ ve Skupinách Google. >> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, >> zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com. >> Chcete-li tuto diskusi zobrazit na webu, navštivte >> https://groups.google.com/d/msgid/django-cs/CAMD1ck8UuLs7M%3DShPD9wpYsDspEBRYza8vEsN%3D5PYWYWjxxmVQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-cs/CAMD1ck8UuLs7M%3DShPD9wpYsDspEBRYza8vEsN%3D5PYWYWjxxmVQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > -- > E-mailová skupina django-cs@googlegroups.com > Správa: http://groups.google.cz/group/django-cs > --- > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny > „django-cs“ ve Skupinách Google. > Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, > zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com. > Chcete-li tuto diskusi zobrazit na webu, navštivte > https://groups.google.com/d/msgid/django-cs/CAKtEf95iPLYMy7pPfWEYWGio3c-10iX%2BWfGvOnmMtvszvUyAag%40mail.gmail.com > <https://groups.google.com/d/msgid/django-cs/CAKtEf95iPLYMy7pPfWEYWGio3c-10iX%2BWfGvOnmMtvszvUyAag%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- E-mailová skupina django-cs@googlegroups.com Správa: http://groups.google.cz/group/django-cs --- Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google. Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com. Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/CADDKcst1zCVy8dReVrRFht56hPGErqkZTYwkopP3E8ZEPXxpDw%40mail.gmail.com <https://groups.google.com/d/msgid/django-cs/CADDKcst1zCVy8dReVrRFht56hPGErqkZTYwkopP3E8ZEPXxpDw%40mail.gmail.com?utm_medium=email&utm_source=footer> . -- -- E-mailová skupina django-cs@googlegroups.com Správa: http://groups.google.cz/group/django-cs --- Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google. Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu django-cs+unsubscr...@googlegroups.com. Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/CAMD1ck-yT5Q39cqcdrwJzCJSQ07wpu837ctMApnM7hkXQn3yYw%40mail.gmail.com.