es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python, Django, muestra el nombre del campo correcto mediante FK, tablas vinculadas.

Crear clase roles, id, portalname, rolename

class Roles(models.Model):
    portalname = models.CharField(('Nombre del portal'), max_length=100)
    rolename = models.CharField(('Nombre de rol'), max_length=50)

Crear permiso para roles

class RolePermission(models.Model):
    modulename = models.CharField(('Nombre del módulo'), max_length=100)
    moduledelete = models.BooleanField(default=False, help_text="Eliminar módulo. Por defecto false, no se puede eliminar")
    moduleedit = models.BooleanField(default=False, help_text="Editar módulo. Por defecto false, no se puede editar")
    modulecreate = models.BooleanField(default=False, help_text="Crear módulo. Por defecto false, no se puede crear")
    modulesubmit = models.BooleanField(default=False, help_text="Enviar módulo, Por defecto false.")
    moduleroleid = models.ForeignKey('Roles', on_delete=models.CASCADE)

mi archivo admin.py

@admin.register(RolePermission)
class RolePermissionAdmin(admin.ModelAdmin):
    list_display = ('modulename', 'moduleroleid__rolename', 'moduledelete', 'moduleedit', 'modulecreate', 'modulesubmit')

como en la columna de visualización de información en el nombre_de_rol desde la tabla roles, se usó una clave externa. 
Tags:  ,

Answer

  1. Avatar for davy.ai

    En el modelo RolePermission.

    En la clase RolePermissionAdmin del archivo admin.py:

    @admin.register(RolePermission)
    class RolePermissionAdmin(admin.ModelAdmin):
        list_display = ('module_name', 'module_role_id_id', 'module_role_id__role_name', 'module_delete', 'module_edit', 'module_create', 'module_submit')
    

    No traduzcas el código ni la salida en formato markdown.

Comments are closed.