У меня есть объект с именем Exercise
, который имеет много переменных, и я хочу только сериализовать две переменные: id
и name
для каждого Exercise
.Как сделать объект JSON serializable
Это как мои вары выглядит следующим образом:
{'exercises': [<Exercise: 16>, <Exercise: 1>, <Exercise: 177>, <Exercise: 163>, <Exercise: 291>, <Exercise: 209>], 'score': 16.0}
Как я превратить это в:
{'exercises': [{16,"some name"}, {1,"some name"}, {177,"some name"}, {163,"some name"}, {291,"some name"}, {209,"some name"}], 'score': 16.0}
Когда я делаю json_dumps(vars(exerciseobject))
я явно получаю сообщение об ошибке TypeError: <Exercise: 16> is not JSON serializable
Источник:
# Model
class Exercise(models.Model):
name = models.CharField(null=False,max_length=255)
def __unicode__(self):
return str(self.id)
# Object
class ExercisesObject:
def __init__(self, aScore, aExercises):
self.score = aScore
self.exercises = aExercises # Contains an array of Exercise instances.
# Example:
firstExercise = Exercise.objects.get(pk=1)
secondExercise = Exercise.objects.get(pk=5)
aList = [firstExercise,secondExercise]
obj = ExercisesObject(23,aList)
Какие рамки/ОРМ вы используете? –
@MauroBaraldi, я использую Django ORM. – JavaCake
Итак, возможно, [это] (https://docs.djangoproject.com/en/dev/topics/serialization/) может вам помочь. –