Privacy Policy
Snippets index

  Build a <select> from backend using ModelChoiceField

from django.contrib.auth.decorators import login_required
from django.views.decorators.cache import never_cache
from django import forms

@login_required
@never_cache
def cantieri_options(request, anagrafica_id):

    try:
        assert request.is_ajax()
        options = forms.ModelChoiceField(queryset=Cantiere.objects.filter(anagrafica=anagrafica_id))
        html = options.widget.render('dummy', None)

        # remove opening and closing <select> tag
        html = html.replace('<select name="dummy">', '')
        html = html.replace('</select>', '')
    except:
        html = ''

    return HttpResponse(html)