在管理inlin中添加整个模型

2024-04-25 19:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

这些是我的模型:

你知道吗型号.py你知道吗

class Company(models.Model):

    name = models.CharField(
                        max_length=100,
                        verbose_name = _(u'Nome'),
                        )

    contacts = models.ManyToManyField('Person', through='CompanyContact', verbose_name = _(u'Contatos'))

class Person(models.Model):
    name = models.CharField(
                        max_length=200,
                        verbose_name = _(u'Nome'),
                        )

    position = models.CharField(
                            max_length=100,
                            verbose_name = _(u'Cargo'),
                            )

    email = models.EmailField(
                            max_length=100,
                            verbose_name = _(u'Email'),
                            unique=True,
                            )

    employer = models.ForeignKey('Company', verbose_name=_(u'Empresa'))

    addresses = models.ManyToManyField('Address', verbose_name = _(u'Endereços'))
    phones = models.ManyToManyField('Phone', verbose_name = _(u'Telefones'))

公司内部管理:

你知道吗管理员.py你知道吗

class CompanyAdmin(admin.ModelAdmin):
    ....

    inlines = (ContactInline,)

    ...

内联

class ContactInline(admin.TabularInline):
    model = CompanyContact
    extra = 0
    verbose_name = u'Representante'
    verbose_name_plural = u'Representantes'

所有这些配置都在公司管理中生成:

Company Admin

没关系,但是我怎么能在admin inline中添加整个contact admin,而不仅仅是name属性(它的名称是因为我在person模型中定义的)?我想做的是保持联系人选择的名称在管理内联,但显示另一个属性并排。例如:

在管理内联中:

  • 联系人:Foo
  • 雇主:酒吧(雇主是外键在人(联系人)模型)。你知道吗

提前谢谢!你知道吗


Tags: namepy模型verbosemodeladminmodels联系人