内联显示多对多管理员django

问题描述 投票:0回答:1

我的代码的简化示例为:

在models.py中:

from django.db import models

class A(models.Model):
    ...

class C(models.Model):
    a = models.ForeignKey(A, on_delete=models.CASCADE)
    b = models.ForeignKey(B, on_delete=models.CASCADE)

class B(models.Model):
    a_fields = models.ManyToManyField(A)

然后进入admin.py

@admin.register(A)
class AAdmin(admin.ModelAdmin):
    pass

class CInline(admin.TabularInline):
    model = C
    extra = 0

@admin.register(B)
class BAdmin(admin.ModelAdmin):
    inlines = (CInline,)

当我打开A实体的添加新表单时,它不会内联显示B的字段。它实际上显示了一个带有预先存在的条目的下拉框,并允许我单击“ +”以添加新的A,这是不希望的行为,而且无需首先使用内联即可发生相同的情况。预先感谢!

python django django-models django-admin
1个回答
0
投票

您可以尝试that。或使用admin.ModelAdmin()并尝试filter_horizo​​ntal字段

© www.soinside.com 2019 - 2024. All rights reserved.