Django                
            Отображение строк в строки с помощью HStoreField - поле PostgreSQL
        
        
            
    Поиск…
Синтаксис
- FooModel.objects.filter (field_name__key_name = 'значение для запроса')
Настройка HStoreField
 Во-первых, нам нужно будет сделать некоторые настройки для работы HStoreField . 
-  убедитесь, что django.contrib.postgresнаходится в вашем `INSTALLED_APPS
-  Добавьте HStoreExtensionв свои миграции. Не забудьте поставитьHStoreExtensionперед любымиCreateModelили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(),
        ...
    ]
Добавление HStoreField к вашей модели
->Примечание: сначала убедитесь, что вы установилиHStoreFieldпрежде чем продолжить этот пример. (выше)
 Для инициализации HStoreField не требуются 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()
Создание экземпляра новой модели
 Передайте родные словарные строки для python для строк для 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',
})
Выполнение ключевых поисков
Catalog.objects.filter(titles__Pro_Git='Scott Chacon and Ben Straub')
Использование содержит
 Передайте объект dict аргументу field_name__contains в качестве аргумента ключевого слова. 
Catalog.objects.filter(titles__contains={
        'Pro Git': 'Scott Chacon and Ben Straub'})
Modified text is an extract of the original Stack Overflow Documentation
        Лицензировано согласно CC BY-SA 3.0
        Не связан с Stack Overflow