有关管理员视图编辑模型的问题。 我不知道如何根据当前编辑的模型的外键对TabularInLine模型的外键进行动态过滤。
models.py:
from django.db import models
class A(models.Model):
name = models.CharField(blank=False, max_lenght=50)
class B(models.Model):
fkA = models.ForeignKey(A, on_delete=models.CASCADE)
name = models.CharField(blank=False, max_lenght=50)
class C(models.Model):
fkA = models.ForeignKey(A, on_delete=models.CASCADE)
fkB = models.ForeignKey(B, on_delete=models.CASCADE)
name = models.CharField(blank=False, max_lenght=50)
admin.py:
from django.contrib import admin
from .models import A, B, C
class BInline(admin.TabularInLine):
model = B
class CInline(admin.TabularInLine):
model = C
@admin.register(A)
class AAdmin(admin.ModelAdmin):
inlines = [BInline, CInline]
admin.site.register(B)
admin.site.register(C)
问题是,我希望在A的管理员编辑视图中,在C的内联部分中包含B的下拉列表,以仅列出与通过外键与当前编辑的A模型关联的模型。因为它列出了数据库中所有可用的模型。
我希望我的解释很清楚,希望有人能帮助我。谢谢!