Tôi có mô hình Django với phạm vi ngày bắt đầu và ngày kết thúc. Tôi muốn thực thi xác thực để không có hai bản ghi nào có phạm vi ngày trùng lặp. Cách đơn giản nhất để thực hiện điều này để tôi không phải lặp lại bản thân mình bằng cách viết logic này là gì?Thêm Xác thực Mẫu Django Tùy chỉnh
ví dụ: Tôi không muốn triển khai lại logic này trong Biểu mẫu và a ModelForm
và biểu mẫu quản trị và ghi đè của mô hình save()
.
Theo như tôi biết, Django không làm cho việc thực thi các loại tiêu chí này trở nên dễ dàng trên toàn cầu.
Googling không hữu ích lắm, vì "xác thực mẫu" thường đề cập đến việc xác thực các trường mô hình cụ thể chứ không phải toàn bộ nội dung mô hình hoặc mối quan hệ giữa các trường.
Kết thúc quá trình này. Tôi cũng đã phải ghi đè lên mô hình tiết kiệm của tôi(), và gọi clean() từ đó. – Cerin
Nhưng để làm gì? AdminSite (ModelForm) gọi clean() tự động. Nhưng gọi clean() từ phương thức save() có thể tạo ra ValidationError trong một thời điểm bất ngờ và nó sẽ không được như mong đợi. – alTus
Không phải mọi thứ đều sạch sẽ. Điều này cần phải được xác nhận bất kể nó được lưu ở đâu. Một trang web bị hỏng là thích hợp hơn để dữ liệu bị hỏng. – Cerin