name is a ForeignKey field? If not, you shouldn't use queryset attribute
there. Use choices instead.
If you want to render all available choices from db, you can get it like
Model.objects.filter(...).values_list('name', flat=True)
On Friday, August 4, 2017 at 8:07:24 PM UTC+3, Arun S wrote:
>
> Hi,
>
> I am trying to have a drop down menu for a field in my form but seems like
> its not working as required.
>
> This is my form: forms.py
>
> eval_states = [
> ('ACTIVE',EvalState.objects.filter(name='ACTIVE')),
> ('INACTIVE',EvalState.objects.filter(name='INACTIVE')),
> ('DELETE',EvalState.objects.filter(name='DELETE')),
> ]
>
> class EvalForm(forms.ModelForm):
> def __init__(self, *args, **kwargs):
> super(EvalForm, self).__init__(*args, **kwargs)
> self.fields['name'].queryset = EvalState.objects.filter(
> Q(name = 'ACTIVE') | Q(name = 'INACTIVE') | Q(name =
> 'DELETE'))
>
> class Meta:
> model = EvalState
> fields = ('name',)
>
> my html : abc.html
>
> <form name="eval_form" method="post" action="#">{% csrf_token %}
> <table class="pairs">
> <tr>
> <th>Eval State:</th>
> <td>
> {{ eval_form.name }}
> <input type="submit" value="Save">
> </td>
> </tr>
> </table>
> </form>
>
> view.py
> eval_form = None
> eval_form = atlas_forms.EvalForm(request.POST, EvalState)
> if eval_form.is_valid():
> print eval_form.errors
> eval_form.save()
> else:
> print eval_form.errors
>
>
> What am i missing?
> Basically requirement is that, i would need a drop down in the HTML and
> whenever the Value is set and saved, I want it to be updated in the DB.
> But i am not able to get through the first step of getting the options in
> the HTML.
>
> Any Help on this would be great.
>
> Thanks
> cheers
> Arun.
>
>
--
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 https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/569250aa-3644-47b6-a952-e857247e966b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.