跳转到主要内容

Django的定制字段,用于在数据库中通过分隔符分离多个值并以列表形式检索它们

项目描述

Build Status

CommaSeparatedIntegerField内置字段的替代品,支持MultipleChoiceField,自定义分隔符并返回值为列表。

安装

PyPi安装包

pip install django-separatedvaluesfield

或从GitHub下载存档并手动安装

curl -L https://github.com/thoas/django-separatedvaluesfield/tarball/master | tar zx
cd thoas-django-separatedvaluesfield
python setup.py install

SeparatedValuesField添加到您的Django模型中

# models.py
from django.db import models

from separatedvaluesfield.models import SeparatedValuesField

class Project(models.Model):
    name = models.CharField(max_length=150)
    languages = SeparatedValuesField(
        max_length=150,
        token=',',
        choices=(
            ('en', 'English'),
            ('fr', 'French')))

如果您的选项值不是字符串,请添加具有您想要应用在值上的类型的cast选项(默认为django.utils.six.text_type

# models.py
from django.db import models

from separatedvaluesfield.models import SeparatedValuesField

class Project(models.Model):
    name = models.CharField(max_length=150)
    languages = SeparatedValuesField(
        max_length=150,
        cast=int,
        token=',',
        choices=(
            (1, 'English'),
            (2, 'French')))

如果您正在运行Django <= 1.6,请使用syncdb同步数据库

python manage.py syncdb

如果您正在运行Django >= 1.7,请使用migrate同步数据库

python manage.py migrate

《分隔值字段》的行为类似于一个《字符字段》,使用标记(默认为《,》)分隔值。

当你使用模型创建《forms.ModelForm》时,该字段会转换为《多选字段》。

用法

>>> from myapp.models import Project
>>> project = Project(name='Project with strings', languages=['fr', 'en'])
>>> project.save() # save 'fr,en' in database for the column "languages"
>>> project.pk
1

>>> project = Project.objects.get(pk=1)
>>> project.languages
['fr', 'en']

# If you added "cast" option to the field to cast to 'int'
>>> project = Project(name='Project with integers', languages=[u'1', u'2'])
>>> project.save() # save '1,2' in database for the column "languages"
>>> project = Project.objects.get(pk=1)
>>> project.languages
[1, 2]

贡献

  1. 分叉仓库

  2. 克隆你的分叉

  3. 创建一个专门的分支(永远不要在《master》分支上工作)

  4. 使用《make dev》创建你的开发环境

  5. 使用《source .venv/bin/activate》激活你的环境

  6. 进行修改

  7. 编写测试并用《make test》执行

  8. 确保所有测试通过《tox》

  9. 如果所有测试都通过,提交一个拉取请求

项目详情


下载文件

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

源分布

django-separatedvaluesfield-0.6.0.tar.gz (5.6 kB 查看哈希值)

上传时间