在admin django 1.6中注册抽象模型

时间:2014-06-03 22:45:45

标签: python django python-3.x django-models django-admin

经过一段时间的搜索,我找不到任何明确的解决方案

文件:models.py

class BaseModel(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)
    modified_date = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True


class Company(BaseModel):
    company_name = models.CharField(max_length=50, unique=True)

    def __str__(self):
        return self.company_name

文件:models.py

from django.contrib import admin
from .models import Company

class CompanyAdmin(admin.ModelAdmin):
    pass

admin.site.register(Company, CompanyAdmin)

我在这里尝试了解决方案:Django admin model Inheritance is it possible?但没有任何作用,管理员只显示company_name

1 个答案:

答案 0 :(得分:3)

这些字段未在管理员中显示的原因是auto_nowauto_now。您需要做的是将它们明确地添加为只读字段:

admin.py

from django.contrib import admin
from .models import Company

class CompanyAdmin(admin.ModelAdmin):
    readonly_fields = ('created_date', 'modified_date')

admin.site.register(Company, CompanyAdmin)