Tôi đang sử dụng khung công tác REST của Django 2.0.ForeignKey không cho phép giá trị null
Đây là lớp mô hình của tôi:
class Mission(models.Model):
assigned_to = models.ForeignKey('auth.User',
related_name='missions_assigned',
blank = True)
Đây là lớp quan điểm của tôi:
class MissionList(generics.ListCreateAPIView):
model = Mission
serialize_class = MissionSerializer
Dạng nhiều phần dữ liệu được trả lại trong trình duyệt với sự lựa chọn sản phẩm nào cho
assigned_to
lĩnh vực.Khi đăng JSON liệu, tôi nhận được thông báo lỗi sau:
Cannot assign None: "Mission.assigned_to" does not allow null values.
Có nghĩa là 'trống = True 'luôn luôn phải được sử dụng với' null = True'? Tại sao tôi không thể chọn trống trong biểu mẫu của mình? Tôi đã sử dụng 'blank = True'. –
'assigned_to == None' đã vượt qua trình duyệt tính hợp lệ của biểu mẫu, nhưng không phải là cơ sở dữ liệu. Nếu không có 'null = True', bạn không thể ghi' None' vào cơ sở dữ liệu. Vì vậy, nói chung, nếu bạn muốn một trường tùy chọn, hãy đặt cả 'blank' và' null' thành 'True'. – user1034937
Tuy nhiên, có hai trường hợp ngoại lệ, tùy chọn 'mặc định' và các trường giống như chuỗi. (Tôi muốn thêm sau bài đăng, thay vì ở đây, nhận xét.) – user1034937