โพสต์เมื่อ 1 ปี, 6 เดือน ago | มีผู้อ่านทั้งหมด 545 คน
แน่นอนว่าทุกการใช้งานโปรเจคของเราจะต้องเปิด env ทุกครั้งก่อนการใช้งานครับ ไม่งั้นอาจจะเกิด Error ขึ้นมาได้
C:\movieproject>env\Scripts\activate
(env) C:\movieproject>
การใช้งานให้เราพิมพ์ python manage.py shell ก็จะขึ้นข้อมูลประมาณนี้ออกมา
(env) C:\movieproject>python manage.py shell
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
ให้เราลองดึงข้อมูลของหนังทั้งหมดออกมาก่อน โดยพิมพ์กว่า movie.objects.all() .. แน่นอนว่าทาง Shell จะแจ้งว่าไม่พบข้อมูลของ movie เพราะเรายังไม่ได้ทำการ import ข้อมูลมาใช้งาน
>>> movie.objects.all()
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'movie' is not defined
>>>
ให้เราใช้คำสั่ง from movie.models import Movie เพื่อให้ตัว Shell สามารถเข้าถึงโมเดล Movie ของเราก่อน
from movie.models import Movie
จากนั้นให้ลองใช้คำสั่ง Movie.objects.all() ทีนี้เราจะเห็นว่าใน Shell โชว์รายการของหนังที่เรามีทั้งหมดในระบบของเราแล้ว
>>> Movie.objects.all()
<QuerySet [<Movie: Marvel Avenger Django>, <Movie: The Suicide Squad>, <Movie: What If...?>, <Movie: Loki>, <Movie: A Quiet Place Part II>]>
>>>
หรือเราอาจจะใช้
>>> Movie.objects.all().order_by("created_date") ##สำหรับเรียงวันที่จากน้อยไปมาก
<QuerySet [<Movie: Marvel Avenger Django>, <Movie: The Suicide Squad>, <Movie: What If...?>, <Movie: Loki>, <Movie: A Quiet Place Part II>]>
>>> Movie.objects.all().order_by("-created_date") ##เรียงวันที่จากมากมาน้อย
<QuerySet [<Movie: A Quiet Place Part II>, <Movie: Loki>, <Movie: What If...?>, <Movie: The Suicide Squad>, <Movie: Marvel Avenger Django>]>
>>>
หลังจากเราไม่ได้ใช่งาน Django Shell แล้วให้เราพิมพ์ exit() เพื่อออกจาก Console ส่วนนี้ได้เลยครับ