在admin django 1.6中注册抽象模型



搜索了一段时间后,我没有找到任何明确的解决方案

文件: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管理模型继承是可能的吗?但是什么都不起作用,管理员只显示company_name

这些字段没有在管理中显示的原因是因为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)

最新更新