Django admin 中group的视图怎么添加选择user

Django admin 中group的视图怎么添加选择user,第1张

在你的admin.py中加入

from django import forms

from django.contrib import admin

from django.utils.translation import ugettext_lazy as _

from django.contrib.admin.widgets import FilteredSelectMultiple

from django.contrib.auth.models import User, Group

class GroupAdminForm(forms.ModelForm):

users = forms.ModelMultipleChoiceField(

queryset=User.objects.all(),

required=False,

widget=FilteredSelectMultiple(

verbose_name=_('Users'),

is_stacked=False

)

)

class Meta:

model = Group

def __init__(self, *args, **kwargs):

super(GroupAdminForm, self).__init__(*args, **kwargs)

if self.instance and self.instance.pk:

self.fields['users'].initial = self.instance.users.all()

def save(self, commit=True):

group = super(GroupAdminForm, self).save(commit=False)

if commit:

group.save()

if group.pk:

group.users = self.cleaned_data['users']

self.save_m2m()

return group

class GroupAdmin(admin.ModelAdmin):

form = GroupAdminForm

admin.site.unregister(Group)

admin.site.register(Group, GroupAdmin)

我没环境,不方便帮你写代码,但可以告诉你思路:

你想用ajax方式查数据,第一步,你已经获取到了输入表单的的值,这很好。

第二步,你需要添加一个查询接口路由,和view,用来返回查询到后数据。

第三步,让前端js代码,用ajax的方式,请求你添加的查询路由地址,带上参数。

第四步,在路由对应的view代码中,获取通过url请求传过来的参数。

第五步,在view代码中,对参数进行检查,通过后,调用数据查询方法,获取结果集。

第六步,在view代码中,将结果集转为json(一般是json),返回。

第七步,ajax在收到返回结果后,将数据显示在网页中。

第八步,调整数据显示的样式,使之美观一点。

如有不明可以追问,或私信留言。

django这个模块其实简单的,难点在于,开发一个web,需要集合前端(css、HTML、JavaScript)和后端(数据库)的知识点,如果你学习Django就是所谓的全端开发了,难度是有的,那些说不难的,都是从其他地方转过来的


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11664778.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存