Django – 在管理员之外使用多对多水平界面

我正在以m2m字段的形式工作.我希望这个字段看起来像 django管理站点的水平界面…¿我怎么能这样做?

谢谢…

解决方法

您需要使用FilteredSelectMultiple小部件

from django.contrib.admin.widgets import FilteredSelectMultiple
from django import forms
from .models import Person


class PersonForm(forms.ModelForm):
    some_field = forms.ModelMultipleChoiceField(Person.objects.all(),widget=FilteredSelectMultiple("Person",False,attrs={'rows':'2'}))
    class Meta:
        model = Person

您还需要包含管理员中使用的Javascript和CSS.这是一个example

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...