Tôi đang sử dụng piston và tôi muốn nhổ ra một định dạng tùy chỉnh cho phản hồi của tôi.Piston tùy chỉnh đại diện phản ứng
mô hình của tôi là một cái gì đó như thế này:
class Car(db.Model):
name = models.CharField(max_length=256)
color = models.CharField(max_length=256)
Bây giờ khi tôi đưa ra một yêu cầu GET đến một cái gì đó giống như/api/xe/1/Tôi muốn có được một câu trả lời như thế này:
{'name' : 'BMW', 'color' : 'Blue',
'link' : {'self' : '/api/cars/1'}
}
Tuy nhiên, piston chỉ xuất ra kết quả này:
{'name' : 'BMW', 'color' : 'Blue'}
Nói cách khác, tôi muốn tùy chỉnh đại diện của một nguồn.
handler Resource piston của tôi hiện trông như thế này:
class CarHandler(AnonymousBaseHandler):
allowed_methods = ('GET',)
model = Car
fields = ('name', 'color',)
def read(self, request, car_id):
return Car.get(pk=car_id)
Vì vậy, tôi không thực sự có được nơi tôi có cơ hội để tùy chỉnh dữ liệu. Trừ khi tôi phải ghi đè lên bộ phát JSON, nhưng điều đó có vẻ giống như một đoạn.
Vì vậy, bạn CÓ THỂ trả lại một từ điển! Tuyệt vời, không biết điều đó. Cảm ơn! – drozzy
Wow, đây là một bất ngờ thú vị! – jathanism