Tom, It is multiplechoice checkbox,it is saving the checked item in number againsted theor respective reportperson_id.
The functionality is working only required is to show the saved number into human redable format.Any idea how to do this . Thanks On Wednesday, July 17, 2013 5:26:55 PM UTC+5:30, Tom Evans wrote: > > On Mon, Jul 15, 2013 at 3:16 PM, Sivaram R <[email protected]<javascript:>> > wrote: > > forms.py > > > > PERSON_ACTIONS = ( > > ('1', '01.Allowed to rest and returned to class'), > > ('2', '02.Contacted parents /guardians'), > > ('3', '02a.- Unable to Contact'), > > ('4', '02b.Unavailable - left message'),) > > > > class PersonActionsForm(forms.ModelForm): > > action = > forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple(), > > choices=PERSON_ACTIONS, required=False, label= u"Actions") > > > > > > models.py > > > > class Actions(models.Model): > > reportperson = models.ForeignKey(ReportPerson) > > action = models.IntegerField('Action type') > > > > When you specify multiple checkboxes in a form and then display it, it > should not be a surprise that you are shown multiple checkboxes… > > In your form, 'action' field is a MultipleChoiceField, and you've > specified the widget should by a CheckboxSelectMultiple. As should be > obvious from the names, allows you to select multiple choices for this > field using checkboxes. > > However, in your model 'action' field is an IntegerField - it takes > exactly one value. Also, IntegerField does not take an unnamed string > argument in it's constructor, so I have to ask, is this actually > working code? Also, on a minor point, a model class name should be > singular, eg 'Action', not 'Actions', otherwise Django will start > talking about 'Actionss'. > > A correct way to do this would be to specify the choices that are > valid for that model in the model itself: > > PERSON_ACTION_CHOICES = ( > ('1', '01.Allowed to rest and returned to class'), > ('2', '02.Contacted parents /guardians'), > ('3', '02a.- Unable to Contact'), > ('4', '02b.Unavailable - left message'),) > > class Action(models.Model): > reportperson = models.ForeignKey(ReportPerson) > action = models.IntegerField(choices=PERSON_ACTION_CHOICES) > > Then in your forms.py: > > class PersonActionsForm(forms.ModelForm): > class Meta: > model = Action > > This will display your action as a drop down that allows you to select > a single action. You do not want to change it to show checkboxes, > checkboxes are for selecting multiple choices. The other option is > RadioSelect, which is like a checkbox but automatically only allows > one choice to be selected. > > If you want to display the currently saved choice on the model > separately, then use the instance in the form: > > {{ form.instance.action }} > > If you added the choices to the model as I recommended, you can even > get it to output the text description of the choice: > > {{ form.instance.get_action_display }} > > Cheers > > Tom > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. For more options, visit https://groups.google.com/groups/opt_out.

