我是django新手,我正在尝试将json保存到数据库。问题是我可以从视图中获取数据,但不确定如何将其保存到数据库。我正在尝试保存注解
models.py
class Post(models.Model):
title=models.CharField(max_length=200)
description=models.TextField(max_length=10000)
pub_date=models.DateTimeField(auto_now_add=True)
slug = models.SlugField(max_length=40, unique=True)
def __unicode__(self):
return self.title
class Comment(models.Model):
title=models.ForeignKey(Post)
comments=models.CharField(max_length=200)
def __unicode__(self):
return '%s' % (self.title)
serializer.py
class CommentSerializer(serializers.ModelSerializer):
id = serializers.CharField(source="title.id", read_only=True)
title = serializers.CharField(source="title.title", read_only=True)
class Meta:
model = Comment
fields = ('id','title','comments')
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ('id','title','description','pub_date')
请帮助我将视图中的数据保存到数据库
view.py
def add_comments(request):
if 'application/x-www-form-urlencoded' in request.META['CONTENT_TYPE']:
print 'hi'
data = json.loads(request.body)
comment = data.get('comment', None)
id = data.get('id', None)
title = data.get('title', None)
....................# not sure how to save to database
pass
提前感谢......如果有更好的方法,请告诉我......
5条答案
按热度按时间lztngnrs1#
如果您使用的是Posterre,则可以使用
JSONField
(read more)存储json,但如果不是,则需要将json解析为字符串,并使用json.dumps(data)
将其保存为CharField
/TextField
。记得导入json库:
import json
qmb5sa222#
假设模型为:
正在发送{“姓名”:“测试用户”,“电话号码”:“123-456-7890”}的json
在视图中,您可以执行以下操作将其保存到数据库。
q0qdq0h23#
如果我理解清楚你的问题,那么你的观点应该是这样的。
yzuktlbb4#
如果你想保存完整的JSON,尝试使用django-jsonfield项目:https://github.com/dmkoch/django-jsonfield
p8ekf7hl5#
根据Django文档,您可以用途:
然后使用以下代码创建: