Oh wow thanks guys On Saturday, 29 May 2021 at 00:16:18 UTC+1 [email protected] wrote:
> On 29/05/2021 1:28 am, Ken Bolton wrote: > > > > On Fri, May 28, 2021 at 4:56 AM ek ekke <[email protected]> wrote: > >> I am trying to list all products from cartridge, is that function all >> ready in there and how can i call it from a template? >> Don't want to write the view if it's all ready in there somewhere. >> > > Check out the `Category` module, which is a subclass of Mezzanine's `Page`. > > Simplest way is > > Product.objects.all() > > To get that in a template, you might need to write a template tag, e.g. I > added something to my Orders Change List template so that I could filter > orders by a specific product (and export the results to CSV). The basics > are: > > In admin.py (or forms.py): > > def get_all_products(): > return [(p.id, p.title) for p in > Product.objects.all().order_by('title')] > > class OrderByProductForm(forms.Form): > product = forms.ChoiceField(label="Export filtered orders containing", > choices=[]) > > def __init__(self, *args, **kwargs): > super(OrderByProductForm, self).__init__(*args, **kwargs) > self.fields["product"].widget = > forms.Select(choices=get_all_products()) > templatetags/myapp_tags.py: > > @register.simple_tag > def export_order_by_product_form(request): > querystring = request.GET.dict() > return OrderByProductForm(queries=querystring) > > And then in templates/admin/order_change_list.html: > > {% extends "admin/change_list.html" %} > {% load admin_urls myapp_tags %} > > {% block object-tools-items %} > > <li><form action="/admin/order_export/" method="get"> > {% export_order_by_product_form request %} > <input type="submit" value="Export to CSV" /> > </form></li> > {{ block.super }} > {% endblock %} > > Note then i have also defined a view for "order_export" which uses the > selected Form item to find the right orders and export them to CSV. > > Hope this helps. > > Seeya. Danny. > > > -- You received this message because you are subscribed to the Google Groups "Mezzanine Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mezzanine-users/de3266af-fda5-45a4-aa9c-a2dbfcb3886fn%40googlegroups.com.
