Tengo esta función en mi modelo,
def serialize(self): return { 'id': self.id, 'author': self.author.username, 'text': self.text, 'timestamp': self.timestamp.strftime("%b %d %Y, %I:%M %p"), 'likes': self.likes.all(), 'likes_number': len(self.likes.all()), }pero los gustos son en realidad una relación de muchos a muchos con el usuario. ¿Cómo puedo serializarlo para obtener algo como esto?
def serialize(self): return { 'id': self.id, 'author': self.author.username, 'text': self.text, 'timestamp': self.timestamp.strftime("%b %d %Y, %I:%M %p"), 'likes': [ user1, user2, etc. ], }Para que también pueda deshacerme de la propiedad 'número de me gusta'.
Puede usar la comprensión de listas para serializar sus datos, pero usar el serializador de django rest framework es más apropiado.
return { 'id': self.id, 'author': self.author.username, 'text': self.text, 'timestamp': self.timestamp.strftime("%b %d %Y, %I:%M %p"), 'likes': [{'id':like.id,...} for like self.likes.all()], 'likes_number': len(self.likes.all()), }