将DJANGO中的多个文本字段合并为一个文本字段,然后进行序列化

时间:2018-11-18 09:25:48

标签: python json django django-rest-framework

我有一个模型Activity,该模型的字段data包含JSON字符串:

class Activity(models.Model):
    date_added = models.DateTimeField(auto_now_add=True)
    start_date = models.DateTimeField(default=datetime.datetime.now)
    data = models.TextField() # stores activity's JSON in text format, not as Python object
    number = models.IntegerField(default=0)

我想创建一个API端点,该端点将所有data对象的Activity字段公开为一个大JSON字符串,这样我的其他应用程序可以在一个请求中接收所有数据。

所以我想我将创建另一个模型,其中包含这样的合并JSON:

class Activities(models.Model):
    #"data" field contains all Activity model JSONs as one big JSON string that can be easily 
    # serialized and received by Bokeh app in single request, as opposed to Bokeh app making requests to single activities

    data = models.TextField(default='')

问题:

  1. 将多个对象的相同文本字段合并为可以由Django Rest Framework安全序列化的对象的最佳方法是什么?例如,我可以在视图中执行此操作,但感觉并不好:

    activity.data = activity_json

    activities.data = activity.data +'DELIMITER'+ activity.data

  2. 这甚至是一个好习惯吗?还是有更好的方法实现相同目标?

请注意,我没有使用Postgres,所以不能使用JSON模型字段。

0 个答案:

没有答案