Рубрики
Без рубрики

Познакомьтесь с Model Object Mapper, утилитой сериализации базы данных для Django!

Model Object Mapper для Django, утилита командной строки, которая позволяет легко сериализировать, вставлять и обновлять данные модели легко. Теги с Python, Django, сериализация.

Model Object Mapper или MOM для короткой, – это утилита управления Django для статистически создания и обновления записей базы данных. Он поддерживает реляционные поля и может работать с приложениями Django, не требуя никакой модификации. Это свободный и открытый источник и лицензирован под MIT лицензия .

Введение

Мама улучшает ваш рабочий процесс при работе с персональными проектами или частными наборами набора данных, которые не требуют для вставки или обновления форм для идентификатора пользователей. Он предлагает простой в использовании механизм сериализации, который синхронизирует вашу базу данных каждый раз, когда вы запускаете его.

Применение

В этом разделе объясняется некоторые из самых полезных функций мамы. Вы можете найти обширную документацию и QuickStart Guide здесь:

Моделирование после моделей

Чтобы мама распознать наши модели Django, мы сначала описываем, как мы будем использовать их в файле под названием Главная Мама Файл Отказ В этом файле мы скажем маме, какие файлы указывают на какие модели и как мы будем обрабатывать реляционные поля.

Чтобы проиллюстрировать точку, давайте предположим, что у нас есть следующая модель:

# File: home/models.py

from django.db import models

class Post(models.Model):
    slug = models.SlugField(primary_key=True, )
    title = models.CharField(max_length=100, )
    date = models.DateTimeField()
    content = models.TextField()

Теперь в Главная Мама Файл , ты можешь сделать:

# File: mom_data/mom.yaml

mom:
    map:
        post:
            model: home.models.Post
            lookupField: slug

Здесь карта ключ внутри Мама Ключ определяет пост Ключ, который говорит мама, как обрабатывать Home.models. Пост модель. После этого мама находит файлы, имена которых начинаются с пост и продолжайте с ценностью, которое он присваивает Slug поле Home.models. Пост и, наконец, закончите с форматом файла мамы. Когда мы приносим все три вместе, мы получаем что-то подобное: post.slug-field-value.mom.yaml Отказ

Внутри предметов

Так как мы создали Главная Мама Файл Теперь мы можем сосредоточиться на объектах (или файлах сериализации). В этих файлах мы представляем строки базы данных, создавая и обновляем их, когда они меняются.

Теперь, давайте предположим, что мы создаем post.slug-field-value.mom.yaml Файл, о котором мы говорили:

# File: mom_data/post.slug-field-value.mom.yaml

field:
    title: My Awesome Post
    date: 2021-02-23 10:25:00+3
    content: This is an awesome post.

Значение Slug поле Значение слизняки Так как он исходит из имени файла.

Теперь вы можете запустить:

$ ./manage.py mom

В результате мама найдет этот файл и использует Slug поле и его значение для запроса для существующей строки. Если есть один, мама будет сравнивать ее поля для изменений. Если нет ни одного, мама создаст новый в базе данных.

Одна полезная функция, которую вы можете использовать здесь, это параметры, включаемые, добавив пространство после имени поля. Например, если вы работаете с файлом Markdown и хотите использовать его в качестве значения для Содержание поле, вы можете сделать это:

# File: mom_data/post.slug-field-value.mom.yaml

field:
    # ...    
    content file: content.md

и внутри Content.md файл:

[comment]: # File: mom_data/content.md

This is an awesome post.

Таким образом, вы можете работать с разными форматами файлов за пределами файлов YAML.

Мама имеет много функций, подобных тому, что вы можете использовать прямо сейчас и тщательно объяснены в документации. Реляционные поля могут быть веской причиной, чтобы проверить это.

Заключение

Мама может улучшить ваш рабочий процесс с гибкостью, которую она обеспечивает и может быть полезным во многих отношениях.

Оригинал: “https://dev.to/tasali/meet-model-object-mapper-a-database-serialization-utility-for-django-1009”