通用json模型和表单字段。

django-json-field的Python项目详细描述


^ tt1}$包含灵活的jSONFAR和相关联的表单字段。model字段不仅能够序列化常见的json数据类型(int、float、decimal、string、time、date、datetime等),而且还能够惰性地反序列化它们,以便它们可以作为django中的普通python对象进行访问和修改。

还提供了表单字段。它将接受序列化表示:

^{tt2}$

并提供对datetime模块的安全访问,供显式使用:

^{tt4}$

虽然json字符串在被访问之前不会被反序列化,但它仍然是一个性能问题,因此您可能会发现禁用自定义反序列化程序(JSONField(decoder=None))很有价值。

django-json-field也与south和python 3兼容。

安装

从pypi安装:

^{tt7}$

如果手动安装,请首先安装依赖项:

^{tt8}$

从github安装:

^{tt9}$

^{tt10}$

配置

json_field添加到PYTHONPATHINSTALLED_APPS设置:

INSTALLED_APPS = (
    ...
    'json_field',
    ...
)

就这些!

用法

像任何其他字段一样,向模型中添加JSONField

from json_field import JSONField
from django.db import models

class MyModel(models.Model):

    json = JSONField()

JSONField还有一些额外的可选参数。

  • ^{tt16}$: Falls back on ^{tt17}$ if not provided and ^{tt18}$, otherwise ^{tt19}$
  • ^{tt20}$: Allows you to specify the column type (default: ^{tt21}$)
  • ^{tt22}$: Defer deserialization until the field is directly accessed (default: ^{tt23}$)
  • ^{tt24}$: Custom JSON encoder (default: ^{tt25}$)
  • ^{tt26}$: Custom JSON decoder (default: ^{tt27}$)
  • ^{tt28}$: Specify all arguments to the encoder (overrides ^{tt24}$)
  • ^{tt30}$: Specify all arguments to the decoder (overrides ^{tt26}$)
  • ^{tt32}$: Evaluate (risky) and enable use of the ^{tt3}$ module in the form field (default: ^{tt34}$)

许可证

django-json-field根据新的bsd许可证获得许可。

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

推荐PyPI第三方库


热门话题
为Java排序一个好的排序列表   java如何识别最后一行,然后单击Add按钮。。根据人们给出的建议,点击第二行想要点击最后一行任何潜在客户吗   收集器(.stream()。独特的()。collect(Collectors.toList());)在java中从eclipse成功运行并从命令提示符运行?   java致命异常:安卓的后台任务。数据库sqlite。SQLiteException:没有这样的表   java如何创建生成随机特殊字符的方法   java SQL只插入到特定列中   java Hibernate 5.2混合本机和JPA API   在Android应用程序中使用Java获取特定的XML标记文本   java之间的通道差异。addPeer()和channel。joinPeer()   java关闭对serialVersionUID的检查   java如何在不设置Id的情况下处理新的实体对象?   用于afterJob(JobExecution JobExecution)的java Spring批处理将参数从编写器传递到侦听器   java如何通过OSGi声明性服务声明hasa依赖关系?   java Android捕获在警报对话框中启动的OnFocusChange或Recents   Java刽子手游戏(主要关注输出)   java消息在OpenMQ中超时后丢失   Java方法在父级中的占位符用于子级   Java AWT列表框   来自http get请求的java“格式错误的JSON”