더 나은 Django 관리자 ManyToMany 필드 위젯
Django Admin의 기본 models.ManyToManyField
위젯이 사용하기 번거 롭다는 것을 알았습니다 . 그것은의 HTML 선택을 요소는 "다른"모델의 객체의 많은 경우 그것은 실제로 "다른 하나는"당신이 "이"개체와 연결할 개체 찾기 위해 매우 비현실적 이다 . 그리고 "기타"의 개체가 모델 많은 경우 관리 페이지의 렌더링 속도를 늦추는을 구석으로 같습니다.
의 user-지정 나만 관리 위젯을 빌드하고 ManyToManyFields
적절하다고 판단 되는대로 적용 할 수 있다는 것을 알고 있지만 대신 사용할 수있는 미리 빌드 된 위젯 이 있습니까? 꿈에서 나는 자동 완성 텍스트 입력 HTML 위젯을 상상합니다. Django 관리 프레임 워크에서 이것이 실용적 / 가능합니까?
감사합니다.
filter_horizontal
클래스 관리자 의 속성을 사용해보십시오 . 예를 들면 다음과 같습니다.
class SomeModelAdmin(admin.ModelAdmin):
filter_horizontal = ('users',)
문서 에서 언급했듯이 "이 목록에 ManyToManyField를 추가하면 옵션 내에서 검색 할 수있는 멋지고 눈에 잘 어울리는 JavaScript"필터 "인터페이스가 사용됩니다". 약간 다른 레이아웃으로 동일한 작업을 수행합니다.filter_vertical
그들은 원시 ID를 볼 수 관리자 있습니다. 및 django 문서 : http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields
자동 완성 기능으로 계획을 소유 한 관리자 시작점으로 보는 것이 좋습니다 http://code.djangoproject.com/wiki/AutoCompleteSolutions
마지막으로 매우 단순한 인라인 예제 :
models.py
class SomeModel(models.Model):
users = models.ManyToMany(User)
admin.py :
class SomeModelAdmin(admin.ModelAdmin):
raw_id_fields = ("users",)
나는 그것을 그것을 가지고 놀지 어디에 다른 곳에서 참조하는 이 유망한 라이브러리를 발견 했습니다 .
내가 원하는 것을 정확히하는 것입니다. 관련 개체의 전체 목록을로드하고 (수에 관계없이!) 일부를 선택할 대신 수있는 선택기를 filter_horizontal
제공하는 검색 / 필터 상자를 제공하고 자동 완성 / 자동 완성 호출을 사용하여 결과를 검색합니다. 동적으로. 이는 5000 명의 사용자가 사용하는 5k <option>
요소가 다운로드 및 될 때까지 기다리지 않고 선택하려는 경우에 유용 합니다.
이 상황은 Django 인라인 관리자가 정확히 무엇을위한 것입니다. 특히 선택 항목이 너무 많은 다 대다 관계에 대해 원시 ID 필드와 함께 TabularInlines를 사용합니다.
https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.TabularInline
참고 URL : https://stackoverflow.com/questions/5385933/a-better-django-admin-manytomany-field-widget
'IT' 카테고리의 다른 글
식에 대한 Angular lazy 일회성 바인딩 (0) | 2020.08.30 |
---|---|
Visual Studio 프로젝트 파일에서 ProjectTypeGuids 태그의 중요성은 무엇입니까? (0) | 2020.08.30 |
robomongo를 사용하여 Mongodb에서 json을 사용하는 방법 (0) | 2020.08.30 |
Flask 앱을 디버깅하는 방법 (0) | 2020.08.30 |
시간을 가지고 해싱 (0) | 2020.08.30 |