admin.py:" model = Thing" ,这段代码意味着什么?如果没有它会发生什么?

时间:2016-04-01 10:15:57

标签: django django-admin

每一个人,我正在阅读一本Django练习册,我看到了一个代码" model = Thing"在admin.py ,,,然而,当我删除" model = Thing" ,,,网络程序仍然可以运行时,管理网站看起来没什么区别??,这段代码是什么意思?如果没有它怎么会发生?我的models.py类是Thing

  

admin.py

from django.contrib import admin
from collection.models import Thing



class ThingAdmin(admin.ModelAdmin):
    model = Thing   #if I remove this code, the program still can run,,why need this code
    list_display = ('name', 'description',)
    prepopulated_fields = {'slug': ('name',)}

admin.site.register(Thing,ThingAdmin)

  

modles.py

from django.db import models

class Thing(models.Model):
    name = models.CharField(max_length=255)
    description = models.TextField()
    slug = models.SlugField(unique=True)

1 个答案:

答案 0 :(得分:1)

model类上设置ModelAdmin属性将不起作用。您可以安全地从代码中删除该行。

在Django管理员中,您可以在调用admin.site.register()或使用register装饰器时指定模型。这允许您为多个模型使用相同的模型管理类。

admin.site.register(Thing, ThingAdmin)
admin.site.register(OtherThing, ThingAdmin)

正如Jon在评论中指出的那样,您需要为InlineModelAdmin对象指定model

相关问题