Skip to content

Registrando novos modelo no site xadmin

Alex Sandro edited this page Sep 11, 2015 · 1 revision

Diferente da administração padrão, xadmin precisa que modelos sejam registrados em um script Python chamado adminx.py

É nesse script que são registrados modelos do banco de dados, definidos dentro um aplicativo Django.

Para exemplificar o foi dito, com um app chamado 'app' ele registraria modelos da seguinte forma (dentro dentro do script adminx.py)

from app import models
import xadmin

class MyModelAdmin(object):
   pass

xadmin.site.register(models.AppModel, MyModelAdmin)

Uma coisa bastante importante a notar, é que a classe de definições do xadmin não herda de admin.ModelAdmin.

Xadmin usa um modelo implícito de herança de classes (isso acaba causando confusão no começo). Mas na prática MyModelAdmin é equivalente a admin.ModelAdmin.

Isso que dizer que ao definir a classe MyModelAdmin, podemos atribuir (para alterar), o site xadmin em diversos aspectos que são semelhantes ao admin.ModelAdmin do admin padrão.

Mais um exemplo, só que agora alterando coisas já conhecidas do admin.ModelAdmin.

from app import models
import xadmin

class MyModelAdmin(object):
   search_fields = ('app_model_field', )

xadmin.site.register(models.AppModel, MyModelAdmin)

Ao atribuir o valor de um campo para search_fields, estamos fazendo exatamente o que fazemos ao trabalhar com admin.ModelAdmin do admin padrão.

Quase toda api do admin.ModelAdmin, documentada no site Django admin, é compatível com xadmin!

Clone this wiki locally