Meta Clase en Modelos – Django

Django es un marco web Python de alto nivel que fomenta un desarrollo rápido y un diseño limpio y pragmático. Creado por desarrolladores experimentados, se encarga de gran parte de las molestias del desarrollo web, por lo que puede concentrarse en escribir su aplicación sin necesidad de reinventar la rueda. Es gratis y de código abierto. También revise Django Models antes de seguir adelante. 

Model Meta es básicamente la clase interna de su clase de modelo. Model Meta se usa básicamente para cambiar el comportamiento de los campos de su modelo, como cambiar las opciones de orden, verbose_name y muchas otras opciones. Es completamente opcional agregar una clase Meta a su modelo. Para usar el modelo meta, debe agregar la clase Meta en su modelo como se muestra a continuación: 

class student(models.Model):
    class Meta:
        options........

Metaopciones del modelo

Model Meta tiene muchas opciones que puede darle a su modelo en su meta de clase interna

1. resumen

Si abstract = True, este modelo será una clase base abstracta

Python3

class student(models.Model):
  class Meta:
      abstract = True

2. etiqueta_aplicación

Si un modelo se define fuera de las aplicaciones en INSTALLED_APPS, debe declarar a qué aplicación pertenece:

Python3

class student(models.Model):
  class Meta:
      app_label = 'myapp' # add app name here

3. verbose_name

verbose_name es básicamente un nombre legible por humanos para su modelo

Python3

class student(models.Model):
  class Meta:
      verbose_name = "stu" # add verbose_name  here

4. ordenar 

La ordenación se utiliza básicamente para cambiar el orden de los campos de su modelo.

Python3

class student(models.Model):
  class Meta:
      ordering = [-1]

Agregue un orden como este [-1] cambia el orden en orden descendente

5. apoderado

Si agregamos proxy = True, un modelo que subclasifica a otro modelo será tratado como un modelo proxy

Python3

class Teacher(models.Model):
  pass
 
class Student(Teacher):
  class Meta:
      proxy = True

Así es como podemos hacer un modelo proxy.

6. permisos 

Permisos adicionales para ingresar en la tabla de permisos al crear este objeto. Los permisos para agregar, cambiar, eliminar y ver se crean automáticamente para cada modelo.

Python3

class student(models.Model):
  class Meta:
      permissions = []
    

Puede agregar permisos adicionales dentro de la lista.

7. tabla_bd

Podemos sobrescribir el nombre de la tabla usando db_table en la metaclase.

Python3

class student(models.Model):
  class Meta:
      db_table = 'X'

Esto cambiará el nombre de la tabla a X.

8. get_latest_by

Devuelve el último objeto de la tabla en función del campo dado, que se utiliza normalmente para DateField, DateTimeField o IntegerField.

Python3

class student(models.Model):
  class Meta:
      get_latest_by = "order_date"

Devuelve el último en forma ascendente order_date.

Publicación traducida automáticamente

Artículo escrito por vivekpisal12345 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *