📅  最后修改于: 2023-12-03 15:00:26.490000             🧑  作者: Mango
在Django Admin后台中,有时候需要显示数据库模型的所有列,而不仅仅是默认的一些列。此时,我们可以使用Django提供的一种简单的方式来包含所有列并显示它们。
我们需要创建一个Admin类来重写默认的Admin类,并添加所有列。在这个Admin类中,我们需要使用两个变量来定义该模型的所有列,即list_display
和readonly_fields
。
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
list_display = [field.name for field in MyModel._meta.fields]
readonly_fields = [field.name for field in MyModel._meta.fields]
在这个代码片段中,list_display
包含了所有列的名称,而readonly_fields
指定了这些列应该是只读的。
为了在Django Admin后台中使用自定义Admin类,我们需要将其注册到相应的模型。
admin.site.register(MyModel, MyModelAdmin)
现在,可以在Django Admin中查看包含所有列并显示的MyModel。
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
list_display = [field.name for field in MyModel._meta.fields]
readonly_fields = [field.name for field in MyModel._meta.fields]
admin.site.register(MyModel, MyModelAdmin)
## Django Admin: 包含所有列并显示
在Django Admin后台中,有时候需要显示数据库模型的所有列,而不仅仅是默认的一些列。此时,我们可以使用Django提供的一种简单的方式来包含所有列并显示它们。
### 步骤一: 创建自定义Admin类
我们需要创建一个Admin类来重写默认的Admin类,并添加所有列。在这个Admin类中,我们需要使用两个变量来定义该模型的所有列,即`list_display`和`readonly_fields`。
```python
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
list_display = [field.name for field in MyModel._meta.fields]
readonly_fields = [field.name for field in MyModel._meta.fields]
在这个代码片段中,list_display
包含了所有列的名称,而readonly_fields
指定了这些列应该是只读的。
为了在Django Admin后台中使用自定义Admin类,我们需要将其注册到相应的模型。
admin.site.register(MyModel, MyModelAdmin)
现在,可以在Django Admin中查看包含所有列并显示的MyModel。
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
list_display = [field.name for field in MyModel._meta.fields]
readonly_fields = [field.name for field in MyModel._meta.fields]
admin.site.register(MyModel, MyModelAdmin)