Skip to main content

Django Db 增强(目前只完善MySQL)

Project description

Django Db 增强(目前只完善MySQL)

主要功能

  • 迁移支持写入表注释及字段注释

  • 迁移支持写入字段默认值

  • 常用字段数据模型基类 django_kelove_db.abstract_models

  • 在线数据库设计文档生成

  • JSON字段支持

  • Markdown 编辑器字段

使用示例

  • 修改django配置文件 ENGINE 为 django_kelove_db.backends.mysql

  • 配置 INCLUDE_DEFAULT (可选),示例如下

DATABASES = {
    'default': {
        'ENGINE': 'django_kelove_db.backends.mysql',
        'NAME': 'django_kelove',
        'USER': 'django_kelove',
        'PASSWORD': 'django_kelove',
        'HOST': '127.0.0.1',
        'PORT': 3306,
        'INCLUDE_DEFAULT': lambda model, field, include_default, connection: False if field.db_parameters(
            connection=connection
        )['type'] in ['longtext', 'longblob'] else True
    }
}

KELOVE_DATABASES = {
    'FOREIGN_DELETE_TYPE': 'django.db.models.deletion.PROTECT',
    'DB_CONSTRAINT': False,
    'DB_CONSTRAINT_USER': False,
    'USER_EDITABLE': False,
    'STATUS_CHOICES': [(-1, '草稿'), (0, '待审'), (1, '通过'), (2, '驳回')],
    'DOC_TITLE': '数据库设计文档',
    'JSON_FIELD_SETTINGS': {
        "mode": "tree",
        "modes": ["code", "form", "text", "tree", "view", "preview"],
    },
    'EDITOR_MD_FIELD_SETTINGS': {
        'readOnly': False,
        'theme': '',
        'previewTheme': '',
        'editorTheme': 'default',
        'autoFocus': False,
        'toolbarAutoFixed': False,
        'emoji': True,
        'codeFold': True,
        'tocDropdown': True,
        'mode': 'markdown',
    }
}

  • 使用数据库文档功能时,需要将应用添加到 INSTALLED_APPS ,并添加路由
INSTALLED_APPS = [
    ...
    'django_kelove_db.apps.DjangoKeloveDbConfig',
    ...
]

from django.conf.urls import url
from django.urls import include

urlpatterns = [
    ...
    url(r'doc/', include('django_kelove_db.urls')),
    ...
]

  • 扩展字段使用示例

from django.db import models

from django_kelove_db import fields

class JsonFieldTable(models.Model):

    """ json 字段 """
    json_field = fields.JSONField(
        default='{}',
        field_settings={
            "mode": "tree",
            "modes": ["code", "form", "text", "tree", "view", "preview"],
        },
        verbose_name='JSON字段',
    )

    """ Markdown 编辑器字段 """
    markdown_field = fields.EditorMdField(
         default='### 测试',
         verbose_name='EditorMdField',
         field_settings={
             'readOnly': True,
             'theme': '',
             'previewTheme': '',
         },
     )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-kelove-db-3.1.0.tar.gz (2.1 MB view details)

Uploaded Source

File details

Details for the file django-kelove-db-3.1.0.tar.gz.

File metadata

  • Download URL: django-kelove-db-3.1.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.9.1 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.5.2

File hashes

Hashes for django-kelove-db-3.1.0.tar.gz
Algorithm Hash digest
SHA256 b60ae396a158a0f043a3eabb4583f47e9fa5964ee97f56fe87a2bd5ecb6b6b4a
MD5 9e4e061caec65ad7a54a2285ce2909e7
BLAKE2b-256 b2e3b3f2d5c5461f14d6eef661855031c80cf223d91df2117b027d79f8bb1cb8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page