Django 1.9 Python3.5Handhabung JSON-Antwort mit Django
ich tastypie bin mit einem externen api verbrauchen
ich eine Klasse erschaffe die Json Antwort von einem erholsamen api zu handhaben. Ich kenne die Datentypen, die von der API zurückkommen, weiß aber nicht, wie man einige von ihnen deklariert.
Dies ist, wie ich sie in Golang erklären
PosterPath string `json:"poster_path"`
Adult bool `json:"adult"`
Overview string `json:"overview"`
ReleaseDate string `json:"release_date"`
GenreIds []int `json:"genre_ids"`
Id int `json:"id"`
OriginalTitle string `json:"original_title"`
OriginalLanguage string `json:"original_language"`
Title string `json:"title"`
BackdropPath string `json:"backdrop_path"`
Popularity float64 `json:"popularity"`
VoteCount int `json:"vote_count"`
Video bool `json:"video"`
VoteAverage float64 `json:"vote_average"`
Von meinem Verständnis ist dies, wie ich sie mit DJjango
class Movies(Resource):
PosterPath = fields.URLField(attribute='poster_path')
Adult = fields.BooleanField(attribute='adult')
Overview = fields.CharField(attribute='overview')
ReleaseDate = fields.CharField(attribute='release_date')
GenreIds = fields.**Array of Ints**(attribute='genre_ids')
Id = fields.IntegerField(attribute='id')
OriginalTitle = fields.CharField(attribute='original_title')
OriginalLanguage = fields.CharField(attribute='original_language')
Title = fields.CharField(attribute='title')
BackdropPath = fields.URLField(attribute='backdrop_path')
Popularity = fields.DecimalField(attribute='popularity')
VoteCount = fields.IntegerField(attribute='vote_count')
Video = fields.BooleanField(attribute='video')
VoteAverage = fields.DecimalField(attribute='vote_average')
GenreIds = fields.**Array of Ints**(attribute='genre_ids')
Es ist ein Dieses Feld erklären sollte Array von Ints. Was ist der richtige Weg, um den JSON dieses Typs zu behandeln? Es sieht so aus,
"genre_ids": [
18,
10402
],
ich tastypie bin mit zugegriffen werden. Ich baue kein Modell Ich verwende eine externe API für eine JSON-Antwort. Ist ArrayField auch dynamisch in der Größe? Gibt es keine Möglichkeit, ein ListField zu erstellen? – wuno
Ja, das ArrayField ist dynamisch. Initialisiere als Liste 'times = ArrayField (models.DateTimeField(), default = list)' und füge es wie gewohnt hinzu. – Ben