ในครั้งนี้ จะไม่มีการทดลองทำจริงกัน 1 วัน แต่จะนำหลักทฤษฎีมาทบทวนและเพิ่มเติมในส่วนที่ทำการทดลองไม่ได้กล่าวถึง
...
Field type หรือ "ชนิดของข้อมูล" ของ Django สำหรับใช้สร้างโมเดลนั้น ซึ่งจากตัวอย่างการสร้างโมเดลในตอนที่ 4 ได้แสดงให้เห็นเฉพาะที่ใช้บ่อย ๆ ได้แก่ CharField(), DecimalField() และ IntegerField()
...
นอกจากนี้ ยังมีชนิดของข้อมูลประเภทอื่น ๆ ที่ยังไม่ได้นำมาใช้ มีอะไรบ้างและรายละเอียดการใช้งาน มีดังต่อไปนี้
ชนิดข้อมูล |
ใช้สำหรับ |
CharField() |
ข้อมูลประเภทข้อความหรือสตริง |
TextField() |
ข้อมูลประเภทข้อความขนาดใหญ่ ซึ่งทำให้หน้าฟอร์มแสดงเป็น TextArea |
IntegerField() |
ข้อมูลที่เป็นตัวเลขจำนวนเต็ม |
ฺBigIntegerField() |
เป็นเช่นเดียวกับ IntegerField() แต่เก็บค่าได้ตั้งแต่ -9223372036854775808 ถึง 9223372036854775807 |
ฺBooleanField() |
เก็บข้อมูล 2 ค่าคือ True และ False |
CommaSeparatedIntegerField() |
เก็บข้อมูลตัวเลขที่ขั้นด้วยจุลภาค |
DateField() |
เก็บข้อมูลวันเดือนปี มีตัวเลือกให้ใช้ 2 ตัว ได้แก่ auto_now=True/False กับ auto_now_add=True/False |
DecimalField() |
ใช้เก็บข้อมูลตัวเลขที่มีจุดทศนิยม เช่น double |
EmailField() |
ใช้กับข้อมูลอีเมล์ |
FileField.upload_to |
ใช้กับการ upload file |
FloatField() |
ใช้เก็บตัวเลขทศนิยม ชนิด Float |
ImageField() |
ใช้เก็บไฟล์รูปภาพ |
IPAddressField() |
เก็บ IP Address ของเคร่องที่ติดต่ออยู่ด้วย |
GenericIPAddressField() |
เก็บ IP V4 หรือ V6 |
NullBooleanField() |
คล้ายกับ BooleanField() แต่สามารถมี Null ได้ |
PositiveIntegerField() |
เก็บเฉพาะตัวเลขค่าเป็นบวก |
PositiveSmallIntegerField() |
คล้ายกับด้านบนแต่ตัวเลขค่าน้อยกว่า |
SlugField() |
ใช้ป้อนหัวข้อข่าว |
SmallIntegerField() |
เช่นเดียวกับ IntegerField แต่เก็บค่าได้น้อยกว่า |
TimeField() |
เก็บเวลา มีตัวเลข คือ auto_now = True/False และ auto_now_add |
URLField() |
ใช้สำหรับป้อน URL Field |
XMLField() |
สำหรับรับ XML Field |
|
|
|
|
|
นอกจากนี้ ยังมีฟิลด์ประเภทสร้างความสัมพันธ์ระหว่างตาราง 3 ชนิดใหญ่ ๆ ได้แก่ one-2-one, one-2-many และ many-to-many ซึ่งจากการทดลองที่แล้วมามีการใช้ one-2-many ไปแล้ว
...
ดังนั้น เมื่อทราบชนิดของฟิลด์ทั้งหมดแล้ว ให้นำทฤษฎีดังกล่าวข้างบน นำไปประยุกต์ใช้กับ application ที่เป็นงานของตนเองดูได้นะครับ
...
จะเห็นว่า Django มี Field Type ให้ใช้มากมายพร้อมกับ Validate ถ้าผู้ใช้ป้อนข้อมูลไม่ตรงกับ Field Type แล้ว Django จะแสดงข้อผิดพลาดให้ผู้ใช้ทราบ เมื่อเปรียบเทียบกับการพัฒนาด้วยวิธีอื่น จะเห็นว่ามีความยุ่งยากและเสียเวลาในการเขียนคำสั่ง
...
หวังเป็นอย่างยิ่งว่า โปรแกรมเมอร์ที่ลังเลใจในการเลือกเครื่องมือใดพัฒนาคงมีแนวทางไว้ในใจบ้างแล้วนะครับ แล้วค่อยพบกันใหม่ ในโอกาสต่อไป
ขอบคุณที่เข้ามาอ่าน