У меня есть модель 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='')
Вопросы:
Каков наилучший способ объединения одинаковых текстовых полей нескольких объектов в одно, которое можно безопасно сериализовать с помощью Django Rest Framework?Например, я могу сделать это в представлениях, но это нехорошо:
activity.data = activity_json
activity.data = activity.data + 'DELIMITER' + activity.data
Это даже хорошая практика?Или есть лучшие способы добиться того же?
В качестве примечания я не использую Postgres, поэтому не могу использовать поле модели JSON.