我正在使用带有 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

关于Django - 在管理员之外使用多对多水平界面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16203287/

10-12 04:26