나는 다음과 같이 두 가지 ModelAdmin
가 있습니다 admin.py
.
class ProjectAdmin(admin.ModelAdmin):
list_display = ('project_name', 'start_date', 'end_date')
list_filter = ['end_date']
search_fields = ['project_name']
class TaskAdmin(admin.ModelAdmin):
list_display = ('project', 'task_name', 'status', 'comment', 'deadline', 'last_updated')
list_filter = ['last_updated', 'deadline', 'status']
search_fields = ['project', 'task_name']
다음과 같은 프로젝트가 나열됩니다.
Project Name Start_date End_date
# Data
하지만 다음과 같이 보이도록 사용자 정의하고 싶습니다.
Project Name Task Name Deadline
# Project1 # Task 1 of Project1 # Task 1 Deadline
# Task 2 of project 1 # Deadline
# Task 3 of project 1 # Deadline
# Project 2 # Task 1 of project 2 # Deadline
and so on.
어떻게 할 수 있습니까? 이와 같은 내용이 문서에 포함되어 있습니까? 빠른 검색을했지만 진행할 올바른 포인터를 찾을 수 없습니다.
감사
자신 만의 뷰를 작성하고 관리자에게 추가해야합니다. 관리자 list_view가 좋은 시작점 일 수 있습니다.
이것이 너무 많은 일처럼 들리면 세 가지 해결 방법을 상상할 수 있습니다.
get_all_tasks.short_description = 'Task Name'
. 그게 트릭을해야합니다!재미있게도, 귀하의 질문이 제 뇌에서 무언가를 유발했을 수 있으며 저는 제 프로젝트를 위해 매우 유사한 것을 만들었습니다. 콘텐츠를 제공하는 함수를 정의하여 문제를 해결할 수 있습니다 (위의 옵션 3. 참조).
class ProjectAdmin(admin.ModelAdmin):
list_display = ('project_name', 'project_tasks', 'task_deadlines', 'end_date')
list_filter = ['end_date']
search_fields = ['project_name']
def project_tasks(self, instance):
out = ""
for task in instance.task_set.all():
#generate html output
out += "{0}<br />".format(task.taskname)
return out
project_tasks.allow_tags = True #html should be renderd as is
project_tasks.short_description = "Task Name"
#Same for Deadline
그게 트릭을해야합니다!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다