Buscar..


Sintaxis

  • FooModel.objects.filter (field_name__key_name = 'valor a consultar')

Configurando HStoreField

Primero, tendremos que hacer alguna configuración para que HStoreField funcione.

  1. asegúrese de que django.contrib.postgres esté en su `INSTALLED_APPS
  2. Agregue HStoreExtension a sus migraciones. Recuerde poner HStoreExtension antes de cualquier migración de CreateModel o AddField .
from django.contrib.postgres.operations import HStoreExtension
from django.db import migrations

class FooMigration(migrations.Migration):
    # put your other migration stuff here
    operations = [
        HStoreExtension(),
        ...
    ]

Agregando HStoreField a tu modelo

-> Nota: asegúrese de configurar HStoreField primero antes de continuar con este ejemplo. (encima)

No se requieren parámetros para inicializar un HStoreField .

from django.contrib.postgres.fields import HStoreField
from django.db import models
    
class Catalog(models.model):
    name = models.CharField(max_length=200)
    titles_to_authors = HStoreField()

Creando una nueva instancia de modelo

Pase un diccionario de python nativo asignando cadenas a cadenas para create() .

Catalog.objects.create(name='Library of Congress', titles_to_authors={
    'Using HStoreField with Django': 'CrazyPython and la communidad',
    'Flabbergeists and thingamajigs': 'La Artista Fooista',
    'Pro Git': 'Scott Chacon and Ben Straub',
})

Realizar búsquedas de claves

Catalog.objects.filter(titles__Pro_Git='Scott Chacon and Ben Straub')

Usando contiene

Pase un objeto dict a field_name__contains como un argumento de palabra clave.

Catalog.objects.filter(titles__contains={
        'Pro Git': 'Scott Chacon and Ben Straub'})
Equivalente al operador de SQL `@>`.

Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow