Skip to main content

包含几个有用的 Django 模型的库,可帮助您使模型更智能或使用更少的代码

项目描述

Para visualizar o README em português

PyPI 最新 PyPI 版本 PyPI 许可证 CicleCI 状态 覆盖范围 文档 开源? 是的!

Django Models 是一个库,其中包含几个有用的 Django 模型,可帮助您使模板更智能或使用更少的代码

要求

  • Python 3.x

  • Django 1.11 或更高版本

特征

通用模型

  • 主动模型

    具有 is_active 布尔字段的模型

  • 代码模型

    具有默认自动生成 16 个字符的哈希的代码字段的模型。有助于以更人性化的方式识别您的记录

  • 串行器模型

    模型返回包含 django 实例的所有数据的字典,无需序列化程序。

例子:

你的模型

from django_models.models import SerializerModel
...

class YourModel(SerializerModel)
    name = models.CharField(max_length=255)
    ...

用法

In[1]: from . import YourModel
In[2]: instance = YourModel.objects.first()
In[3]: user.serialize()
Out[3]: {'id': 1, 'name': 'first record', ...}
  • 蛞蝓模型

    带有段塞场的模型。在 url 或名义引用中使用很有用

  • 时间戳模型

    具有 DateTime、created_at 和 updated_at 字段的模型。用于控制何时进行任何更改。

  • UUID模型

    使用 id 字段作为 UUID 的模型。能够拥有唯一标识符而不用担心序列是很有用的。

历史模型

  • 历史模型 跟踪每次保存以生成记录的历史更改的模型

信号模型

使用 SignalModel,它允许您根据 Django 的信号处理或执行事件。

保存时:
  • pre_save(保存前)

  • post_save(保存后)

擦除时:
  • pre_delete(擦除前)

  • post_delete(删除后)

使用预保存信号的示例

注意:这将在您保存模型之前进行

from django_models.models import SignalsModel
...

class YourModel(SignalsModel)
    ...
    def pre_save(self):
        do_something()

软删除信号模型

  • SoftDeleteSignalModel 模型

    它是实现了软删除的 SignalsModel。使您删除的任何内容都不会真正从系统中删除并且易于恢复

如何安装

在做了

您可以使用 pip 获取 Django 模型:

$ pip install django-models

如果您想从源代码安装它,请从 GitHub 获取 git 存储库并运行 setup.py:

$ git clone git@github.com:rhenter/django_models.git
$ cd django_models
$ python setup.py install

设置

要在项目中启用django_models,您需要将其添加到项目 settings.py文件中的INSTALLED_APPS中:

INSTALLED_APPS = (
    ...
    'django_models',
    ...
)

文档

在GitHub Pages查看最新的django-models文档

贡献

请发送拉取请求,非常感谢。

  1. Fork GitHub 上的存储库

  2. 从 master 创建一个分支并将您的更改提交给它。

  3. 安装要求。pip install -r requirements-dev.txt

  4. 安装预提交。预提交安装

  5. 使用cd test-django-project运行测试;py.test -vv -s

  6. 使用您的贡献创建一个拉取请求

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

django-models-0.5.1.tar.gz (58.8 kB 查看哈希)

已上传 source

内置分布

django_models-0.5.1-py3-none-any.whl (12.7 kB 查看哈希)

已上传 py3