I am having difficulties with forms, specifically ModelMultipleChoiceField.
I've pieced together this code from various examples, but it sadly doesn't work.
I would like to be able to:
Search for some Works on work_search.html
Display the results of the search, with checkboxes next to each result 
Select the Works I want, via the checkboxes
After pressing Add, display which works were selected.
I believe everything is okay except the last part. The page simply displays "works" :(
Here is the code - sorry about the length.
Models.py
class Work(models.Model):
    title = models.CharField(max_length=200)
    artist = models.CharField(max_length=200)
    writers = models.CharField(max_length=200)
    def __unicode__(self):
        return self.title + ' - ' + self.artist
forms.py
class WorkSelectForm(forms.Form):
    def __init__(self, queryset, *args, **kwargs):
        super(WorkSelectForm, self).__init__(*args, **kwargs)
        self.fields['works'] = forms.ModelMultipleChoiceField(queryset=queryset,       widget=forms.CheckboxSelectMultiple())
views.py
def work_search(request):
    query = request.GET.get('q', '')
    if query:
        qset = (
            Q(title__icontains=query) |
            Q(artist__icontains=query) |
            Q(writers__icontains=query)
        )
        results = Work.objects.filter(qset).distinct()
        form = WorkSelectForm(results)
        return render_to_response("work_search.html", {"form": form, "query": query })    
    else:
        results = []
    return render_to_response("work_search.html", {"query": query })
def add_works(request):
    #if request.method == POST:
    form = WorkSelectForm(request.POST)
    #if form.isvalid():
    items = form.fields['works'].queryset
    return render_to_response("add_works.html", {"items":items})
work_search.html
{% extends "base.html" %}
{% block content %}
  <h1>Search</h1>
  <form action="." method="GET">
    <label for="q">Search: </label>
    <input type="text" name="q" value="{{ query|escape }}">
    <input type="submit" value="Search">
  </form>
  {% if query %}
    <h2>Results for "{{ query|escape }}":</h2>
    <form action="add_works" method="post">
        <ul>
        {% if form %}
            {{ form.as_ul }}
        {% endif %}
        </ul>
        <input type="submit" value="Add">
    </form>
  {% endif %}
{% endblock %}
add_works.html
{% extends "base.html" %}
{% block content %}
    {% if items %}
        {% for item in items %}
            {{ item }}
        {% endfor %}
    {% else %}
        <p>Nothing selected</p>
    {% endif %}
{% endblock %}