跳转到主要内容

为所有Django模型提供额外的、动态的字段。

项目描述

https://travis-ci.org/matthiask/django-specifications.png?branch=master

此模块提供了一种简单的方法来将辅助信息附加到Django模型上。它允许通过管理界面配置自定义表单。

用法

  1. "specifications" 添加到 INSTALLED_APPS

  2. 在您想要使用规格的模型上创建 specification = ForeignKey("specifications.Specification")。外键可以是可空或必需的,根据您的需要。

  3. 创建存储规格字段数据的地方

    from specifications.models import SpecificationValueFieldBase
    
    class MyObjectField(SpecificationValueFieldBase):
        parent = models.ForeignKey(
            MyObject,
            on_delete=models.CASCADE,
            related_name="fields",
        )
    
        class Meta:
            ordering = ["field__group__ordering", "ordering"]
  4. 创建 ModelForm 时从 FormWithSpecification 继承

    from specifications.forms import FormWithSpecification
    
    class MyObjectForm(FormWithSpecification):
        class Meta:
            model = MyObject
  5. 如果您想编辑带有规格的模型,可能需要使用以下片段

    from specifications.admin import ModelAdminWithSpecification
    
    class MyObjectAdmin(ModelAdminWithSpecification):
        pass

在保存规格后,字段将可用。可以更改规格,但这样做可能会丢失数据。

项目详情


下载文件

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

源分布

django_specifications-0.5.0.tar.gz (10.9 kB 查看散列值)

上传时间

构建分布

django_specifications-0.5.0-py3-none-any.whl (13.1 kB 查看散列值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面