Как я могу получить значение радиокнопки check на странице обновления

Как я могу получить значение радиокнопки check на странице обновления, она сохраняет DB, но на странице обновления она не показывает выбранную радиокнопку.

в моделях

user_role = models.CharField(max_length=25, default="USER")

в добавить html

<tr>
   <td class="mtrr"><b>User Role*</b></td>
   <td class="mtrr"><label class="radio-inline"><input type="radio" name="user_role" value="admin" checked>Admin</label></td>
   <td class="mtrr"><label class="radio-inline"><input type="radio" name="user_role" value="super">Super User</label></td>
   <td class="mtt"><label class="radio-inline"><input type="radio" name="user_role" value="user">User</label></td>
</tr>

в обновлении добавить html

 <tr>
     <td class="mtrr"><b>User Role*</b></td>
     <td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == True %} checked {% endif %} type="radio" name="user_role">Admin</label></td>
     <td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == True %} checked {% endif %} type="radio" name="user_role">Super User</label></td>
     <td class="mtt"><label class="radio-inline"><input  {% if data.ul_role == True %} checked {% endif %}  type="radio" name="user_role">User</label></td>
</tr>

Ваша информация немного неполная, поскольку вы упустили представление обновления

Вы можете решить свою проблему следующим образом

Добавьте атрибут CHOICE к полю user_role

В модели:

class UserListGroup(models.Model):
    ROLE = (('user', 'USER'), ('admin', 'ADMIN'), ('super', 'SUPER USER')) 
    user_role = models.Charfield(max_length=25, choices=ROLES, default=user)

использование вариантов приведет к использованию html-виджета, чтобы использовать радиокнопку, создайте Django-форму и обновите ее как показано ниже

from Django forms import ModelForm, RadioSelect
from .models import UserListGroup

class UserListGroupForm(ModelForm):
    class Meta:
        model = UserListGroup
        field = '__all__'
        widgets = {
            'user_role': RadioSelect()
        }

Ваши add.html и update.html будут выглядеть примерно так

<form method="POST" action="">
    {% csrf_token %}
    {{ form }}
</form>

Для таких простых грубых операций лучше использовать общее представление Django

В заключение, подход, который вы используете в update.html при проверке текущей роли пользователя, неверен, так как условие одинаково во всех трех случаях. Его следует сравнить с их возможными значениями в базе данных следующим образом

<tr>
     <td class="mtrr"><b>User Role*</b></td>
     <td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == 'admin' %} checked {% endif %} type="radio" name="user_role">Admin</label></td>
     <td class="mtrr"><label class="radio-inline"><input {% if data.ul_role == 'super' %} checked {% endif %} type="radio" name="user_role">Super User</label></td>
     <td class="mtt"><label class="radio-inline"><input  {% if data.ul_role == 'user' %} checked {% endif %}  type="radio" name="user_role">User</label></td>
</tr>
Вернуться на верх