我的代码的简化示例为:
在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
,这是不希望的行为,而且无需首先使用内联即可发生相同的情况。预先感谢!