Django admin multiple querysets on one page

Refresh

2 weeks ago

Views

10 time

1

How to have multiple tables(queryset) on one page in django admin.

For example:

When i go to the company page, i can see the list of departments in the company, i can also see the list of employees in the company.

1 answers

0

Вы можете использовать объекты InlineModelAdmin осуществить это, хотя , если вы хотите сделать вложенную Внутристрочными вы должны проверить этот пост . Хотя , как говорится , что пост:

... это было бы своим родом запутанных конструкций для реализации.

Вы не предоставили какой-либо код здесь, так что лучшее, что я могу сделать, это угадать ваши модели отношений.

models.py

from django.db import models


class Department(models.Model):
    name = models.CharField(max_length=250)
    ...

class Employee(models.Model):
    name = models.CharField(max_length=250)
    ...

class Company(models.Model):
    name = models.CharField(max_length=250)
    departments = models.ForeignKey(Department)
    employees = models.ForeignKey(Employee)
    ...

admin.py

from django.contrib import admin


class EmployeeInline(admin.StackedInline):
    model = Employee

class DepartmentInline(admin.StackedInline):
    model = Department

class CompanyAdmin(admin.ModelAdmin):
    list_display = ('name')
    inlines = [DepartmentInline, EmployeeInline]

admin.site.register(CompanyAdmin)