2017年10月29日 星期日

Django - Model & Admin Interfacel筆記

行前準備

python mange.py migrate

python mange.py makemigratons app

為了讓admin mode可以看到model,必須要在admin.py中註冊

from app.models import Model1, Model2
admin.site.register(Model1)
admin.site.register(Model2)


創立Model

開啟app中的model.py輸入:

class Topic(models.Model):
top_name = models.CharField(max_length=264, unique=True)

def __str__(self):
return self.top_name

class Webpage(models.Model):
topic = models.ForeignKey(Topic)
name = models.CharField(max_length=264, unique=True, verbose_name='名字')
url = models.URLField(unique=True)

def __str__(self):
return self.name

class AccessRecord(models.Model):
name = models.ForeignKey(Webpage)
date = models.DateField()

def __str__(self):
return str(self.date)


python mange.py migrate

python mange.py makemigratons app # 必須要和app name相同

python mange.py migrate

完成以上指令我們進入shell mode確認一下model是否創立成功

python manage.py shell

from apptwo.models import Topic
print(Topic.objects.all()) # 沒東西
t = Topic(top_name="social network")
t.save()
print(Topic.objects.all()) #出現剛剛新增的social network
quit()

接下來將利用admin interface來新增資料,在這之前註冊


# admin.py

from apptwo.models import AccessRecord, Topic, Webpage
admin.site.register(AccessRecord)
admin.site.register(Topic)
admi.site.register(Webpage)

建立superuser
python manage.py createsuperuser

利用superuser帳號登入admin interface
http://127.0.0.1:8000/admin

完成

新增日期, 修改日期
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

沒有留言:

張貼留言