Tôi cố gắng sử dụng trình tự tuần tự DRF để tuần tự hóa một đối tượng mô hình. Tôi tìm thấy DatetimeField trong đối tượng sẽ không xuất ra "2015-10-21T09:28:53.769000Z"
của định dạng ISO-8601Đặt định dạng ngày giờ định dạng của cấu trúc khung còn lại django
Tài liệu DRF tra cứu tại sao tôi không thể xuất định dạng ISO-8601. Theo số datetimefield nói:
format
- Chuỗi đại diện cho định dạng đầu ra. Nếu không được chỉ định, giá trị mặc định này sẽ có cùng giá trị với khóa cài đặt DATETIME_FORMAT, sẽ là 'iso-8601' trừ khi được đặt. Việc đặt thành một chuỗi định dạng cho biết rằng các giá trị trả về to_representation sẽ bị ép buộc thành đầu ra chuỗi. Các chuỗi định dạng được mô tả dưới đây. Đặt giá trị này thành Không cho biết rằng Python
Điều đó có nghĩa là mặc định là đầu ra iso-8601
nếu tôi không bao giờ đặt đối số DATETIME_FORMAT
? Chưa, nó vẫn không thay đổi.
Khi tôi cố gắng viết thiết lập của dự án django như sau:
REST_FRAMEWORK = {
'DATETIME_FORMAT': "iso-8601",
}
hoặc tôi viết trong luận DatetimeField như sau:
class UserSerializer(...):
last_login = DatetimeField(format='iso-8601')
class Meta:
model = User
fields = ('email', 'displayname', 'is_active',
'date_joined', 'last_login')
Nó vẫn không thay đổi một lần nữa.
Bất kỳ ai biết cách đặt?
'DatetimeField trong đối tượng sẽ không đầu ra "..." của định dạng ISO-8601' Nó ra sao? –
Tôi đang đối mặt với cùng một vấn đề! Nếu tôi sử dụng các validated_data của lĩnh vực này, nó sẽ xuất ra một cái gì đó như "2018-01-12 10:20:55" (có thể là đại diện mặc định của một đối tượng datetime?). Sự hiểu biết của tôi về tài liệu là đầu ra phải là "2018-01-12T10: 20: 55 + 00: 00". Tôi gọi isoformat() trên validated_data để có một định dạng thích hợp cho bây giờ, nhưng tôi phải đã bỏ lỡ một cái gì đó ... – Laurent