บทความเกี่ยวข้อง
คำสั่ง option ใช้ได้ทุก View
หลายครั้งที่ เวลากรอกข้อมูลแล้ว บังเอิญเผลอกด Enter โดยไม่รู้ตัว ระบบจะไปสร้าง ข้อมูลนั้นๆ โดยทันที ซึ่งมันก็มีทั้งข้อดีและข้อเสีย
แต่ส่วนใหญ่แล้วเป็นข้อเสียซะมากกว่า เนื่องจากผู้ใช้งานไม่ได้ตั้งใจที่จะสร้างและสร้างโดยไม่รู้ตัว
วันนี้จะทำการ ปิด ไม่ให้สร้างสามารถสร้างผ่าน quick edit , create ได้
คำสั่ง option ที่ใช้บ่อยๆ มีดังนี้
options="{'no_create_edit': True}"
หมายถึง ไม่สามารถ Create และ Edit ของ record ที่ quick create ที่สร้างขึ้นมาใหม่ได้
options="{'no_create': True, 'no_open': True}"
หมายถึง ไม่สามารถ Create และไม่สามารถ Link ไปยัง record ได้
options="{'no_create': True}"
หมายถึง ไม่สามารถ Create และสามารถ Link ไปยัง record ได้ (ไม่ทำตัวอย่าง สามารถไปทดลองได้ด้วยตนเอง 🙂
options="{'no_open': True}"
หมายถึง ไม่สามารถ Link ไปยัง record ได้ แต่สามารถ Create record ได้ (ไม่ทำตัวอย่าง สามารถไปทดลองได้ด้วยตนเอง 🙂
ตัวอย่างคำสั่ง option ใน Tree View
คำสั่ง option สามารถใช้ได้ทั้งใน Tree view , form view ,kanban view และทุกๆ view ผลลัพธ์ที่แสดงจะเหมือนๆกันทุก View
ในตัวอย่างนี้จะยกตัวอย่างเฉพาะ Tree View
ตัวอย่าง 1 ไม่ใส่ option ใดๆทั้งสิ้น
ผลลัพธ์ : จะเห็นว่า เราสามารถเลือกได้ทั้งหมด Create , Create and edit… , View All
หากข้อมูลเป็นข้อมูลที่มีความใกล้เคียง ถ้ากด Enter ไปตรงๆ ระบบก็จะเลือกข้อมูลที่ใกล้ที่สุดขึ้นมา
แต่ถ้าหากว่า ไม่มีข้อมูลนั้นล่ะ จะเกิดอะไรขึ้น ไปดูรูปถัดไป
ผลลัพธ์ : หากเป็นข้อมูลใหม่ ที่ยังไม่มีแล้วเผลอกด Enter ข้อมูลจะถูกเพิ่ม ผ่านทาง quick create โดยทันที
และนี่คือ ปัญหาที่ทำให้ผู้ดูแลระบบปวดหัวมากที่สุด เนื่องจากจะมีข้อมูลขยะเกิดขึ้นมาเป็นจำนวนมาก โดยที่ผู้สร้างไม่ได้ตั้งใจ
ตัวอย่าง 2 ใส่ no_create_edit
ตัวอย่างนี้ จะมาลองใส่ options="{'no_create_edit': True}"
แล้วมาดูผลลัพธ์กัน
ผลลัพธ์ : จะเห็นว่า Create and edit… หายไป แต่ก็ยังสามารถ quick create ได้อยู่ดี
ตัวอย่าง 3 ใส่ no_create , no_open
ตัวอย่างนี้ จะมาลองใส่ options="{'no_create': True, 'no_open': True}"
แล้วมาดูผลลัพธ์กัน
ผลลัพธ์ : จะเห็นว่า ไม่สามารถ quick create ได้
บทสรุป คำสั่ง options
- คำสั่ง options ที่มีใช้งานหลักๆคือ
options=”{‘no_create_edit’: True}”
options=”{‘no_create’: True, ‘no_open’: True}” นิยมใช้บ่อยมากที่สุด เพราะป้องกันได้ดีที่สุด
options=”{‘no_create’: True}”
options=”{‘no_open’: True}” - หมดปัญหาเรื่องมือลั่น สร้าง record มั่ว
- การใส่ ‘no_create’: True, ‘no_open’: True จะต้องคำนึงถึงความสำคัญของ field นั้นๆ เช่น field ที่ไว้ใส่ tag ข้อมูล ก็ไม่จำเป็นต้องใส่หรือจะใส่ก็ได้
- ตัวอย่าง ที่ควรใส่ ‘no_create’: True, ‘no_open’: True เช่น
คำนำหน้าลูกค้า เนื่องจาก คำนำหน้ามีข้อมูลค่อนข้างจำกัด มีไม่กี่ record “บริษัท , คุณ , หจก. , ….. ” หากเราไม่ใส่ ‘no_create’: True, ‘no_open’: True ไว้ละก็ จะเจอข้อมูลซ้ำๆ เช่น “บจก. , บริษัท (ซ้ำๆกันหลายๆครั้ง) , บจ ก , บ จ ก ,” ทั้งๆที่ มันควรที่จะมีเพียงอันเดียว