У меня есть эти модели Django:
class Event(models.Model):
ts = models.CharField(max_length=25, editable=False)
update_id = models.IntegerField( null=False)
msg_id = models.CharField(max_length=50, primary_key=True, blank=True)
chat = models.ForeignKey(Chat, on_delete=models.CASCADE, blank=True)
user_id = models.ForeignKey(ChatUser, on_delete=models.CASCADE, blank=True)
text = models.TextField(blank=True)
is_visible = models.BooleanField(default=True, blank=True)
edited_version = models.TextField(null=True, blank=True)
и сериализатор:
class UpdatesSerializer(serializers.ModelSerializer):
class Meta:
model = Event
fields = ('ts', 'update_id', 'msg_id', 'chat', 'user_id', 'text')
просмотров:
def get(self, request):
updates = Event.objects.all()
updates = [UpdatesSerializer().to_representation(update) for update in updates]
return Response(updates)
это представляет данные как это:
{
"ts": 1,
"update_id": 4,
"msg_id": 1,
"chat": 1,
"user_id": 1,
"text": "test"
}
Как я могу представлять такие данные? :
{
"ts": 1,
"update_id": 4,
"details":{
"msg_id": 1,
"chat": 1,
"user_id": 1,
"text": "test"
}
}
На самом деле я мог бы отделить эту модель и использовать поля от деталей как можно больше, но это не позволило мне создать событие, используя это:
message_ = Event.objects.create(ts=int(time.time()), update_id=4)
message_.save()
message_.message.add(text="1")