在django管理表格

时间:2017-01-11 03:23:44

标签: python django django-admin

以下是我的两个模型:

class Provider(models.Model):
    name = models.CharField(max_length=75, null=True, blank=True)
    code = models.CharField(max_length=15)
    provider_parent = models.ForeignKey('self', null=True, blank=True)
    accounts = models.ManyToManyField('Account', blank=True)
    data_types = models.ManyToManyField('DataType', blank=True,
                                        through='ProviderDataType')

class Account(models.Model):
    name = models.CharField(max_length=75, unique=True)
    prefixes = models.ManyToManyField('AccountPrefix', blank=True)

这是我的admin.py

class ProviderAdmin(admin.ModelAdmin):
    list_display = ('code', '__unicode__')

class AccountAdmin(admin.ModelAdmin):
    list_display = ('__unicode__')


admin.site.register(Provider, ProviderAdmin)
admin.site.register(Account, AccountAdmin)

当我尝试添加或更新我的帐户模型并保存时,我想知道是否可以选择父提供商。 Parent模型已经在其manytomany字段

上设置了帐户

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您可以使用TubularInline。像这样:

class ProviderInline(admin.TabularInline):
    model = Provider.accounts.through
    extra = 1

class AccountAdmin(admin.ModelAdmin):
    inlines = [ProviderInline,]
    ...