DXGX Consult - App EngineにDjangoのブログをデプロイする その5(model.pyを構築する)

App EngineにDjangoのブログをデプロイする その5(model.pyを構築する)

IT
2023年05月19日

いよいよblogフォルダの中を作成してきます。ブログの構成は次の単純なものにします。

各Postはタイトル、本文、カテゴリー、タグ、作成日、更新日で構成。
カテゴリーとタグは1対多になるので、定義する事が必要です。

ここまで決まれば、まずはmodel.pyにこの構成を記載していきます。

from django.db import models
from django.utils import timezone
# Create your models here.
class Category(models.Model):
lang_type = models.CharField(max_length=50)
def str(self):
return self.lang_type
class Meta:
db_table =
class Tag(models.Model):
lang_type = models.CharField(max_length=50)
def str(self):
return self.lang_type
class Meta:
db_table =
class Post(models.Model):
title = models.CharField(max_length=50)
contents = RichTextField(Contents)
category = models.ForeignKey(Category,on_delete=models.SET_NULL,blank=True,null=True)
tag = models.ForeignKey(Tag,on_delete=models.SET_NULL,blank=True,null=True)
created_at = models.DateTimeField(Created,auto_now_add=True)
updated_at = models.DateTimeField(Update,auto_now=True)
def str(self):
return self.title
class Meta
db_table =blogs

db_tableの名前は適当に変えてください。カテゴリーとタグはForeignKeyで定義することを忘れない事がポイントでしょうか。

ついでに、admin.pyも同じフォルダに作成しておきましょう。PostとCategoryとTagをつくればいいので、

from django.contrib import admin
from .models import Post,Category,Tag
# Register your models here.
admin.site.register(Post)
admin.site.register(Category)
admin.site.register(Tag)

でOKです。このあたり、簡単に作る事ができるのが、Djangoの素晴らしい点ですね。次はviews.pyの作成に移ります。