ทำการสร้าง Model
เราจะทำการสร้างโมเดลขึ้นมาเพื่อใช้ในการเก็บข้อมูลเข้าสู่ database กันนะ โดยเราจะสร้าง class ขึ้นมาสอง class ด้วยกัน คือ question และก็ choice
Activating Model
ในตอนนี้ django ยังไม่รู้จักแอพ polls ของเรา ดังนั้นเราจะต้องไปแก้ไขไฟล์ setting.py เพื่อให้ django ได้รู้จักแอพของเราซะก่อน ตามนี้
หลังจากนั้นเราก็ทำการรันคำสั่งต่อไป คือ
python3 manage.py makemigrations polls
เพื่อเป็นการบอก Django ให้รู้ว่าเราได้ทําการเปลี่ยนแปลงแก้ไข model ซึ่งสิ่งที่เปลี่ยนแปลงแก้ไขนั้นก็จะถูกเก็บไว้ในรูปแบบ migration
Note : Migration คือ ตัวช่วยในการจัดการและแก้ไขข้อมูล database ของ model
คำส้่งถัดมาที่ควรรันหลังจากทำการ migration นั้นก็คือ
python3 manage.py migrate
เป็นคำสั่งที่ใช้สร้าง model table และยืนยันการเปลี่ยนแปลงของ model ทั้งหมดลงใน database
Note : คำสั่งอื่นๆที่เกี่ยวกับ migration
- sqlmigrate เป็นคำสั่งที่ใช้แสดงผล SQL statements ของ migrations ออกมา
- showmigrations เป็นคำสั่งแสดงไฟล์ migrations ทั้งของโปรเจคหรือแอพและสถานะของไฟล์นั้น
เล่นสนุกไปกับ API
ต้องบอกว่าในส่วนนี้ค่อนข้างยาวมากเลย โดยตรงนี้นั้นจะเป็นการรันคำสั่งที่เกี่ยวกับการเพิ่มๆลบๆ เรียกดูข้อมูลใน database ผ่านทาง shell ของ django ซึ่งก็คือ command line นั้นแหละ ฮ่าๆ จะขอสรุปสั้นๆเฉพาะคำสั่งที่สำคัญแล้วกันนะ เอาล่ะเริ่มด้วยการเปิด shell ก่อนเลยด้วยคำสั่ง
python3 manage.py shell
สรุปคำสั่งสำคัญๆที่ tutorial ใช้เล่นใน shell
- from polls.models import Question, Choice << ทำการ import Question กับ Choice เข้ามาก่อน
- from django.utils import timezone << import timezone ด้วย
- q = Question(question_text="What's new?", pub_date=timezone.now()) << สร้าง Question แล้วเก็บลงตัวแปร q
- q.save() << เซฟข้อมูลในตัวแปร q ตะกี้ลง database
- Question.objects.all() << เรียกดูคำถามทั้งหมดใน database
- q = Question.objects.get(pk=1) << ดึงคำถามที่มี primary key(หรือ id) เท่ากับ 1 มาเก็บไว้ในตัวแปร q
- q.choice_set.create(choice_text='Not much', votes=0) << สร้างช้อยส์ให้คำถาม q
- q.choice_set.all() << เรียกดูช้อยส์ทั้งหมดของคำถาม q
- q.choice_set.count() << เรียกดูจำนวนช้อยส์ของคำถาม q
คำสั่งอื่นๆสามารถเข้าไปดูได้ที่ >> https://docs.djangoproject.com/en/1.11/intro/tutorial02/#playing-with-the-api
เริ่มต้นกับ Django Admin
หน้า admin จะเป็นหน้าที่ช่วยจัดการข้อมูลต่างๆได้ง่ายและสะดวกขึ้นมากเลย เพราะฉนั้นเรามาเริ่มต้นใช้งานเจ้าหน้า Admin กันดีกว่า ขั้นตอนก็คือสร้าง superuser ขึ้นมาก่อนโดยรันคำสั่ง
python3 manage.py createsuperuser
จากนั้นก็ทำการกรอก username email password ไปให้เรียบร้อย จากนั้นก็ทำการรัน server แล้วเข้าไปที่ http://localhost:8000/admin/ จะพบกับหน้า login หลังจากทำการ login เสร็จก็จะพบกับหน้านี้
ซึ่งตอนนี้ยังทำได้แค่ดู user ดังนั้นเราจึงต้องไปแก้ไขไฟล์ admin.py ก่อนตามนี้
เมื่อกลับเข้ามาดูที่หน้า admin อีกทีก็จะเห็นว่ามีส่วนของ Questions เพิ่มขึ้น ซึ่งเราสามารถจะเข้าไปเพิ่มลบหรือแก้ไขคำถามในนั้นได้เลย
~ เป็นอันจบ django tutorial ที่ 2 ~
ไม่มีความคิดเห็น:
แสดงความคิดเห็น