Hello there I'm trying to make this as easy as possible, but it's pretty complicated.
Here's my form class EventBookForm(ModelForm): """A form for governors to email to govwales with details of which events they wish to attend""" title = CharField() firstname = CharField() surname = CharField() address = CharField(widget=Textarea(attrs={'rows': 5, 'cols': 80})) postcode = CharField() telephone = CharField() email = EmailField() govtype = Field(widget=Select(choices=GOVTYPELIST)) schoolname = CharField(widget=Textarea(attrs={'rows': 2, 'cols': 60})) authority = CharField() workshops = MultipleChoiceField() requirements = CharField(widget=Textarea(attrs={'rows': 5, 'cols': 80})) class Meta: model = Event def __init__(self, *args, **kwargs): super(EventBookForm, self).__init__(*args, **kwargs) workshop_choices = [] data = Workshop.objects.filter(evt_workshop='80') print data for d in data: workshop_choices.append((d.title,d.title)) self.fields['workshops']=MultipleChoiceField(widget=CheckboxSelectMultiple, choices=workshop_choices, required=False) As you can see I've hard coded the id of the event into this section data = Workshop.objects.filter(evt_workshop='80') If I could pass the request object into the form, or the event ID itself,I could get at the right data for the workshop_choices list. Here's the view Note that I still haven't worked out how I send only the selected/ ticked multiple items yet def event_book(request,edate, eslug): if request.method == 'POST': form = EventBookForm(request.POST) if form.is_valid(): the_rufurl = request.META['HTTP_REFERER'] the_url = request.META['HTTP_REFERER'].split('/') eventdate = "%s-%s-%s" % (the_url[5], the_url[6], the_url[7]) eventslug = the_url[8] eventdetails = Event.objects.filter(start_date=eventdate) for d in eventdetails: eventid = d.id eventtitle = d.title print "event title" + eventtitle eventdate = d.start_date eventstarttime = d.start_time eventendtime = d.end_time eventvenue = d.venue workshops = Workshop.objects.filter(evt_workshop=d.id) workshoptitlearray = '' for w in workshops: workshoptitle = w.title workshoptitlearray = workshoptitlearray + ', ' + w.title to = ['tonm...@gmail.com','cont...@governorswales.org.uk'] subject = 'Event Booking Form' from_email = 'cont...@governorswales.org.uk' cleaned_data = form.cleaned_data print cleaned_data['workshop'] htmllinksuggestion = 'Title: ' + cleaned_data['title'] + '<br />' htmllinksuggestion += 'First Name: ' + cleaned_data['firstname'] + '<br />' htmllinksuggestion += 'Surname: ' + cleaned_data['surname'] + '<br / >' htmllinksuggestion += 'Address: ' + cleaned_data['address'] + '<br / >' htmllinksuggestion += 'Post Code: ' + cleaned_data['postcode'] + '<br />' htmllinksuggestion += 'Telephone Number: ' + cleaned_data['telephone'] + '<br />' htmllinksuggestion += 'Email Address: ' + cleaned_data['email'] + '<br />' htmllinksuggestion += 'Type of Governor: ' + cleaned_data['govtype'] + '<br />' htmllinksuggestion += 'Name of School: ' + cleaned_data['schoolname'] + '<br />' htmllinksuggestion += 'Authority: ' + cleaned_data['authority'] + '<br />' htmllinksuggestion += 'Event Title: ' + str(eventtitle) + '<br />' htmllinksuggestion += 'Event Date: ' + str(eventdate) + '<br />' htmllinksuggestion += 'Workshops Selected: ' + str(workshoptitlearray) + '<br />' htmllinksuggestion += 'Requirements: ' + cleaned_data['requirements'] + '<br />' html_content = htmllinksuggestion text_content = '' msg = EmailMultiAlternatives(subject, text_content, from_email, to, headers = {'Reply-To': 'mjdav...@creativebeans.co.uk'}) msg.attach_alternative(html_content, "text/html") msg.send() return HttpResponseRedirect('/forms/eventbook/thankyou/') else: form = EventBookForm() the_refurl = request.META['HTTP_REFERER'] the_url = request.META['HTTP_REFERER'].split('/') if the_url[3] == 'events': ventdate = the_url[4] + '-' + the_url[5] + '-' + the_url[6] ventslug = the_url[7] else: ventdate = "%s-%s-%s" % (the_url[5], the_url[6], the_url[7]) ventslug = the_url[8] eventdate = "%s-%s-%s" % (the_url[5], the_url[6], the_url[7]) eventdetail = Event.objects.filter(slug=ventslug,start_date=ventdate) for d in eventdetail: workshopid = d.id workshop = Workshop.objects.filter(evt_workshop=workshopid) cats = formextra.objects.all() context = Context({'form': form, 'cats': cats, 'eventdetail': eventdetail, 'workshop': workshop }) return render_to_response('forms/eventbookform.html', context, context_instance=RequestContext(request)) Any help would be gratefully received. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.