[英]Django: How to define the models when parent model has two foreign keys come from one same model?
[英]how to define a json type to a model field from django models
谁能告诉我如何为模型中的特定字段定义 json 数据类型。
我试过这个
from django.db import models
import jsonfield
class Test(models.Model):
data = jsonfield.JSONField()
但是当我说python manage.py sqlall xyz
时,它将数据字段作为文本
BEGIN;
CREATE TABLE "xyz_test" (
"data" text NOT NULL
)
;
我仍然尝试将 json 数据插入该字段,但它给出的错误为:
ERROR: value too long for type character varying(15)
有人请帮忙。 提前致谢。
在后台JSONField 实际上是一个 TextField ,因此 sqlall 的输出不是问题,这是预期的行为。
此外,我重新创建了您的模型并且它工作得很好,无论是作为字符串输入值还是作为 Python 字典输入时,都没有任何字符限制。 所以我最好猜测这个问题是一个完全不相关的字段,它有 15 个字符的限制。
已将 JSONField 数据类型添加到某些数据库的 Django,以改进对 JSON 的处理。 这篇文章提供了更多信息: Django 1.9 - 模型中的 JSONField
你可以试试这个:
from django.contrib.postgres.fields import JSONField
class Test(models.Model):
data = models.JSONField()
首先安装django-jsonfield
pypi 包:
pip install django-jsonfield
然后简单地使用它:
class MyModel(models.Model):
custom_field = JSONField(
default=dict
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.