Django админ несколько запросов на одной странице - PullRequest
1 голос
/ 14 марта 2019

Как иметь несколько таблиц (набор запросов) на одной странице в администраторе django.

Например:

Когда я перехожу на страницу компании, я вижу список отделов вкомпании, я также могу увидеть список сотрудников в компании.

1 Ответ

0 голосов
/ 14 марта 2019

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

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

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

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)
...