django的自定义字段,用于使用分隔符分隔数据库中的多个值并将其作为列表检索

django-separatedvaluesfield的Python项目详细描述


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.pyfromdjango.dbimportmodelsfromseparatedvaluesfield.modelsimportSeparatedValuesFieldclassProject(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.pyfromdjango.dbimportmodelsfromseparatedvaluesfield.modelsimportSeparatedValuesFieldclassProject(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

SeparatedValuesField的行为类似于CharField,它将值与 令牌(默认为,)。

当您是 使用模型创建forms.ModelForm

用法

>>> frommyapp.modelsimportProject>>> project=Project(name='Project with strings',languages=['fr','en'])>>> project.save()# save 'fr,en' in database for the column "languages">>> project.pk1

>>> 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. 创建开发环境
  6. 使用source .venv/bin/activate
  7. 激活您的环境
  8. 进行修改
  9. 编写测试并使用make test
  10. 执行它们
  11. 使用tox
  12. 确保所有测试通过
  13. 如果所有测试都通过,请提交拉取请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringMVC控制器测试打印结果JSON字符串   若catch语句返回,那个么为什么它最终会阻塞呢?   java Grails中servletContext在哪里可用?   java Jhipster:如何为现有项目启用多种语言   java异常评估SpringEL表达式:“#fields.hasErrors('something')”   java如何验证SeleniumWebDriver中的文本颜色?   java在绘图时使用JPanel坐标   java如何初始化spring启动到project?   java如何通过JDBC的PreparedStatement将UUID数组插入HyperSQL数据库   java修改JVM以跨线程序列化文件访问   Javascript到Java正则表达式   使用Java运行时调用aspell程序时出现字符集问题。getRuntime()。执行官   执行RDP时的java Sukuli按钮识别   java如何使用okhttp更改connect请求的标头   java无法创建Maven Eclipse项目