Django:在管理接口中加入类

Django:在管理接口中加入类,django,Django,我有一个Person类和一个Contract类。在管理界面中,我想在进入person页面时显示与每个人相关的合同,而不仅仅是person类中的数据 那么,首先,我可以亲自展示合同中的数据吗 第二,我如何显示与此人相关的合同,而不是所有合同?我的意思是,我不想显示每个人的所有合同,只显示与特定人相关的合同 谢谢 class Person(models.Model): name = models.CharField(max_length=32, verbose_name=_(u"Name")

我有一个Person类和一个Contract类。在管理界面中,我想在进入person页面时显示与每个人相关的合同,而不仅仅是person类中的数据

那么,首先,我可以亲自展示合同中的数据吗

第二,我如何显示与此人相关的合同,而不是所有合同?我的意思是,我不想显示每个人的所有合同,只显示与特定人相关的合同

谢谢

class Person(models.Model):
    name = models.CharField(max_length=32, verbose_name=_(u"Name"))
    surname = models.CharField(max_length=32, verbose_name=_(u"Surname"))
    address = models.CharField(max_length=32, verbose_name=_(u"Address"))

class Contract(models.Model):
    person = models.ForeignKey(Person) #person hired
    contract = models.OneToOneField('self', blank = True, null = True) #allows to extend a contract
    project = models.ForeignKey(Project, blank = True, null = True) #related project

您可以修改Django的管理行为,引入其他字段,还可以查询其他外部数据。官方文档(更具体地说是列表视图)完全涵盖了您的问题:如果您正在修改更改/添加表单上的关系,那么您正在寻找内联模型:您是否阅读了教程?它明确地向您展示了如何在管理中做到这一点(使用调查问题和答案的例子)。由于这是我的第一个Django项目,如果怀疑太容易,我很抱歉。我尝试了两种方法:在管理中:添加Person
contract\u属性的列表显示,这样似乎不起作用。在模型中:我插入了一个亲自调用合同属性的方法。但是我被困在这里,因为我找不到投票示例:(,滚动到关于内联线的部分。非常感谢你们。结果很简单,但一开始我不知道如何开始,我需要一个线索。
class-constractnline(admin.tablarinline):model=Contract-extra=1@admin.register(Person)class Person(admin.ModelAdmin):列表\过滤器=[“…..”]列表\显示=[“…..”]内联线=[收缩线,]
class ContractInline(admin.TabularInline): 
    model = Contract 
    extra = 1 

@admin.register(Person) 
class Person(admin.ModelAdmin): 
    list_filter = ["........"] 
    list_display = ["........"] 
    inlines = [ ContractInline, ]