我能够成功搜索安全用户组。但是,在按下搜索按钮时,搜索值随搜索结果消失。我希望将搜索值保留在搜索字段中,直到我手动将其删除或刷新页面为止。
我正在覆盖django admin组模型,这是我要从UserListView搜索的字段。
models.py:
class User(AbstractBaseUser, PermissionsMixin):
...
groups = models.ForeignKey(Group, on_delete=models.CASCADE, related_name='user_group', blank=True, null=True)
views.py
class UsersListView(AdminRequiredMixin, TemplateView):
model = User
context_object_name = "users"
template_name = "list.html"
def get_queryset(self):
queryset = self.model.objects.all().select_related("groups")
request_post = self.request.POST
if request_post:
if request_post.get('groups'):
queryset = queryset.filter(groups_id=request_post.get('groups'))
return queryset
def get_context_data(self, **kwargs):
context = super(UsersListView, self).get_context_data(**kwargs)
context["groups_list"] = User.objects.all()
return context
模板: 这就是我在模板中搜索分组字段的方式。
HTML代码:
<div class="filter_col col-4">
<div class="form-group">
<label for="exampleInputEmail1">User Group</label>
<select class="form-control" id="id_groups" name="groups">
<option value="" selected="selected">--Select an User Group--</option>
{% for group in groups_list %}
<option value="{{group.groups.id}}" {%ifequal group.groups.id request.POST.group.groups|add:"0"%} selected {%endifequal%}>{{ group.groups.name }}</option>
{% endfor %}
</select>
</div>
</div>
当我在搜索过滤器中选择安全组选项(管理员,员工等)并按搜索按钮时,有人可以帮忙吗?搜索成功后,将过滤具有该特定安全组的所有用户。但是,我丢失了过滤器中的搜索值。我想保留它。请帮助我了解我在这里想念的东西。