>> เนื้อหาส่วนนี้เป็นส่วนหนึ่งของวิชา [[:204223-52|Practicum in Computer Engineering]]
====== การสร้างโมเดล ======
เราจะสร้างโมเดล ''Equipment'' เพื่อเก็บเครื่องใช้ไฟฟ้าที่เราจะควบคุม สร้างแฟ้ม ''crtl/models.py'' ดังด้านล่าง
# _*_ encoding: utf-8 _*_
from django.db import models
class Equipment(models.Model):
name = models.CharField(max_length=100,
verbose_name='ชื่อเครื่องใช้ไฟฟ้า')
is_on = models.BooleanField(verbose_name='เปิดอยู่')
def __unicode__(self):
return self.name
เราจะต้องเรียก
./manage.py syncdb หรือ python manage.py syncdb
เพื่อให้ Django สร้างตารางในฐานข้อมูลสำหรับเก็บโมเดลให้กับเรา
สังเกตว่าคำสั่งดังกล่าวจะสร้างตารางชื่อ ''ctrl_equipment'' ให้กับเรา
====== การใช้ admin อัตโนมัติ ======
เราจะใช้โปรแกรม admin อัตโนมัติ ของ django เพื่อดูวัตถุและในโมเดลของเรา ก่อนจะใช้ต้องจัดการสองเรื่องด้านล่าง
* แก้แฟ้ม ''urls.py'' โดยเอาคอมเมนต์ในบรรทัด
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
และบรรทัด
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
ออก
* ในแฟ้ม ''settings.py'' เพิ่ม ''django.contrib.admin'' เข้าไปใน ''INSTALLED_APPS'' จากนั้นสั่ง
./manage.py syncdb''
เพื่อสร้างตารางสำหรับ admin
* เราจะต้องบอกระบบ admin ว่าให้จัดการโมเดล ''Equipment'' ด้วย โดยการ register เข้ากับระบบ admin ให้เพิ่มแฟ้ม ''admin.py'' ในโมดูล ''ctrl'' ที่เราสร้างไว้ (เพิ่มในไดเร็กทอรี ''ctrl/'') ดังด้านล่าง
from django.contrib import admin
from models import Equipment
admin.site.register(Equipment)
สังเกตว่าเรา register โดยเรียก ''admin.site.register(Equipment)'' ถ้าเราต้องการจัดการกับโมเดลอื่น ๆ ก็สามารถ register ใน admin.py ได้ในลักษณะเดียวกัน
====== เอกสารจากเว็บของ Django ======
* [[http://docs.djangoproject.com/en/dev/intro/tutorial01/#intro-tutorial01|Tutorial]]
* [[http://docs.djangoproject.com/en/dev/topics/db/models/#topics-db-models|การใช้งานโมเดล]]
* [[http://docs.djangoproject.com/en/dev/ref/models/fields/#ref-models-fields|ประเภทของฟิลด์ต่าง ๆ]]
* [[http://docs.djangoproject.com/en/dev/ref/contrib/admin/#ref-contrib-admin|เอกสารอ้างอิงของ admin]]