# How can i get selected value in user update form?

**URL:** <https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747>\
**Category:** Using Django\
**Created:** [March 31, 2020, 5:34am UTC](https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747 "2020-03-31T05:34:30Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mtrazakhan](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/mtrazakhan/32/1026_2.png) [@mtrazakhan](https://forum.djangoproject.com/u/mtrazakhan)\
**Post date:** [March 31, 2020, 5:34am UTC](https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747/1 "2020-03-31T05:34:30Z")

</div>

My form.py:

```
class CreateUserForm(HelperForm):
    USER_TYPE_CHOICES = (
        (False, 'Employee'),
        (True, 'Admin'),
    )
    first_name = forms.CharField(
        label="First Name",
        max_length=30,
        required=True,
        validators=[firstNameValidator]
    )
    last_name = forms.CharField(
        label="Last Name",
        max_length=30,
        required=True,
        validators=[lastNameValidator]
    )
    email = forms.EmailField(
        label="Email",
        required=True,
        validators=[emailValidator]
    )
    job_role = forms.ModelChoiceField(required=True, queryset=Group.objects.all(), initial=0)
    is_superuser = forms.ChoiceField(label='User Type', choices=USER_TYPE_CHOICES)
    is_active = forms.BooleanField(initial=False, required=False, widget=forms.HiddenInput())

    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'username',
                  'email', 'job_role', 'is_superuser', 'is_active')

```

 ![JobRole](https://us1.discourse-cdn.com/flex026/uploads/djangoproject/original/1X/296020bad59460a058384e7a774ab92b1fa6e25d.png)

---

<div class="post-metadata">

**Author:** ![timonweb](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/timonweb/32/570_2.png) [@timonweb](https://forum.djangoproject.com/u/timonweb)\
**Post date:** [April 1, 2020, 9:26am UTC](https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747/2 "2020-04-01T09:26:37Z")

</div>

> [@mtrazakhan](#):
>
> job\_role = forms.ModelChoiceField(required=True, queryset=Group.objects.all(), initial=0)

What’s the `initial=0` for? Get rid of it. And also after submitting the form, check in the db if the `job_role` has been saved. If it’s in the db and the rest is correct, it should show up in the form.

---

<div class="post-metadata">

**Author:** ![mtrazakhan](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/mtrazakhan/32/1026_2.png) [@mtrazakhan](https://forum.djangoproject.com/u/mtrazakhan)\
**Post date:** [April 1, 2020, 9:53am UTC](https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747/3 "2020-04-01T09:53:21Z")

</div>

![AutoSelect](https://us1.discourse-cdn.com/flex026/uploads/djangoproject/original/1X/8b80ca07ec3c47a99712a7ef3c7c22af68701f74.png)

I have done what you said but it is not showing which I selected at the time of user creation, look at picture,  
Thanks

---

<div class="post-metadata">

**Author:** ![mtrazakhan](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/mtrazakhan/32/1026_2.png) [@mtrazakhan](https://forum.djangoproject.com/u/mtrazakhan)\
**Post date:** [April 1, 2020, 9:54am UTC](https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747/4 "2020-04-01T09:54:14Z")

</div>

class EditUserForm(HelperForm):  
job\_role = forms.ModelChoiceField(queryset=Group.objects.all(), required=True)

```
USER_TYPE_CHOICES = (
    (False, 'Employee'),
    (True, 'Admin'),
)
is_superuser = forms.ChoiceField(label='User Type', choices=USER_TYPE_CHOICES)

class Meta:
    model = User
    fields = [
        'first_name', 'last_name', 'username', 'email', 'is_superuser', 'job_role'
    ]

def __init__ (self, *args, **kwargs):
    super(EditUserForm, self). __init__ (*args, **kwargs)
    self.fields['job_role'].initial = self.instance.groups.all()

def save(self, commit=True):
    user = super(EditUserForm, self).save(commit)
    user.save()
    user.groups.clear()
    user.groups.add(self.cleaned_data.get('job_role'))
    return user
```

---

<div class="post-metadata">

**Author:** ![mtrazakhan](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/mtrazakhan/32/1026_2.png) [@mtrazakhan](https://forum.djangoproject.com/u/mtrazakhan)\
**Post date:** [April 2, 2020, 10:36am UTC](https://forum.djangoproject.com/t/how-can-i-get-selected-value-in-user-update-form/1747/5 "2020-04-02T10:36:21Z")

</div>

My views.py:

```
class UserEdit(PermissionRequiredMixin, AjaxUpdateView):
    model = User
    form_class = EditUserForm
    context_object_name = 'user'
    ajax_template_name = 'modal_form.html'
    ajax_form_title = 'Edit User'
    permission_required = ('users.edit_users',)

    def get_data(self):
        return {
            'info': 'Edited user information',
        }

    def post(self, request, *args, **kwargs):
        form_data = self.get_form_kwargs()['data']
        job_role_id = form_data.get('job_role', 0)
        job_role_id = 0 if job_role_id == '' else job_role_id
        job_role = Group.objects.filter(id=int(job_role_id)).first()
        user = self.get_object()
        if job_role:
            user.groups.add(job_role)
        return super(UserEdit, self).post(request, args, kwargs)
```
