搜索了一段时间后,我没有找到任何明确的解决方案
After searching a while i didn't find any clear solution
文件: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可能吗? 但没有任何效果,管理员只显示公司名称
I tried the solution here: Django admin model Inheritance is it possible? but nothing works, and the admin is only showing the company_name
这些字段没有显示在后台的原因是 auto_now
和 auto_now
.您需要做的是将它们显式添加为只读字段:
The reason why those fields are not being showed in the admin, is because of the auto_now
and auto_now
. What you need to do is adde them explicitly as read-only fields:
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)
这篇关于在admin django 1.6中注册抽象模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!