Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django——多对多选择器小部件在哪里?_Django_Widget_Many To Many_Many To One_Picker - Fatal编程技术网

Django——多对多选择器小部件在哪里?

Django——多对多选择器小部件在哪里?,django,widget,many-to-many,many-to-one,picker,Django,Widget,Many To Many,Many To One,Picker,对于表A的每一行,我希望能够从表B中添加一行或多行 Django管理员有一个例子,用户权限选择器——我附上一个屏幕截图 每个用户可以拥有任意数量的权限。权限从左侧开始。添加一个时,它将向右移动。你可以前后移动它们 这就是我想要的两个我自己的模型。如何获取此小部件 我首先认为我需要一个多对一的小部件,但进一步考虑,我认为这是多对多。用户获得权限后,该权限仍可供其他用户使用。一个用户可以有多个权限;对于特定的权限,可以将相同的权限授予多个用户——必须是多对多。我的两张桌子工作方式相同 我需要添加和

对于表A的每一行,我希望能够从表B中添加一行或多行

Django管理员有一个例子,用户权限选择器——我附上一个屏幕截图

每个用户可以拥有任意数量的权限。权限从左侧开始。添加一个时,它将向右移动。你可以前后移动它们

这就是我想要的两个我自己的模型。如何获取此小部件

我首先认为我需要一个多对一的小部件,但进一步考虑,我认为这是多对多。用户获得权限后,该权限仍可供其他用户使用。一个用户可以有多个权限;对于特定的权限,可以将相同的权限授予多个用户——必须是多对多。我的两张桌子工作方式相同


我需要添加和更新记录页面上的小部件,用户可以访问;我不需要在管理页面它。(我很幸运在用户管理页面上找到了一个完美的例子。)

在你的
admin.py

class your_model_admin(admin.ModelAdmin):
    ...
    filter_horizontal = ('field_name',) 

这将使一个小部件与
字段名称的
权限
字段相同

我将一张票证放入code.djangoproject.com

答案是:

模块在那里,您可以使用它们

您可以从中使用小部件

从django.forms.widgets导入选择多个

“水平过滤器/垂直过滤器”窗口小部件可从以下位置访问:

从django.contrib.admin.widgets导入FilteredSelectMultiple

然而,这些模块并没有提供给表单使用,因为它们依赖于javascript,并且不能保证向后兼容性