Cho đến nay tôi đã không đi qua một lời giải thích rõ ràng về trống rỗng, và yêu cầu - trong các mô hình và hình thức của Django.Trống, Null, và Bắt buộc trong Mô hình Django và ModelForms
Tôi biết các mặc định cho mỗi như sau:
blank = False
null = False
required = True
tôi cũng biết rằng:
blank=True
(sử dụng trong models.py), có nghĩa là về hình thức cấp, chấp nhận biểu mẫu trống - trường được liên kết không bắt buộc trong biểu mẫu.
null=True
(được sử dụng trong models.py), có nghĩa là ở cấp cơ sở dữ liệu, các chuỗi trống sẽ được lưu trữ là NULL
trái ngược với phiên bản trống của loại dữ liệu được liên kết.
required=False
(được sử dụng trong forms.py), có nghĩa là trường biểu mẫu được liên kết không bắt buộc.
Hy vọng thông tin trên sẽ phục vụ tốt cho người khác (vui lòng cho tôi biết nếu có bất kỳ sai sót nào trong logic và tôi sẽ cập nhật).
Câu hỏi của tôi là như sau:
Khi nào tôi biết khi nào sử dụng blank=True
vs required=False
. Nếu mục tiêu của tôi là tạo trường biểu mẫu không bắt buộc, tôi có thể xác định trường này trong mô hình bằng cách sử dụng blank=True
hoặc tôi có thể xác định điều này trong biểu mẫu bằng cách sử dụng required=False
. Điều này có nghĩa là bạn có thể xác định blank=True
trong một mô hình và trong liên kết ModelForm
ghi đè điều này với required=True
?
Cũng liên quan, bạn sẽ sử dụng biểu mẫu thông thường khi nào (forms.Form
)? Vì biểu mẫu không liên kết với một mô hình (khác với thông qua logic xem), điều gì sẽ xảy ra nếu một lần nữa, chúng mâu thuẫn với nhau?
Khi * điều gì * mâu thuẫn với điều gì, nếu biểu mẫu không được liên kết với mô hình. –