Mostrar el campo de elección en la administración como campo de entrada.
Tengo una base de datos de quizás 100 usuarios que tienen cada uno de 5 a 10 mil productos vinculados a ellos. En el panel de administración, cargar esa página es muy lento debido a la gran cantidad de productos. Entonces lo que quiero hacer es reemplazarlo con una expresión regular o al menos un campo de entrada de número que no precargue todos los productos:
modelos:
clase Tienda(models.Model):
nombre = models.CharField(“nombre”, max_length = 128)
usuario = models.OneToOneField(User, on_delete = models.CASCADE, )
producto_prueba = models.Foreignkey(Producto, on_delete = models.CASCADE, null = True, blank = True)
clase Producto(models.Model):
datos = models.JSONField()
número = models.PositiveIntegerField()
tienda = models.ForeignKey(Tienda, on_delete = models.CASCADE)
admin:
clase TiendaAdmin(admin.ModelAdmin):
list_display = [“nombre”, …]
raw_id_fields = [“producto_prueba”, …]
De esta manera, obtengo un campo de entrada de ID en la página de administración:
¿Hay alguna manera de convertirlo en un campo de expresión regular, para poder buscar a través del atributo de datos de mis productos y el atributo de número?
davy.ai
Sí, puede utilizar un Campo de modelo personalizado para crear un campo de expresión regular. Puede utilizar los atributos
data
ynumber
para crear un campo de expresión regular personalizado que buscará a través de los productos.