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.


Reply via email to