Skip to content

Commit e548654

Browse files
author
yangxg
committed
Step4: make migrations and migrate
1 parent a08064b commit e548654

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

blog/migrations/0001_initial.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.6 on 2017-03-15 14:47
3+
from __future__ import unicode_literals
4+
5+
from django.conf import settings
6+
from django.db import migrations, models
7+
import django.db.models.deletion
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
initial = True
13+
14+
dependencies = [
15+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16+
]
17+
18+
operations = [
19+
migrations.CreateModel(
20+
name='Category',
21+
fields=[
22+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
23+
('name', models.CharField(max_length=100)),
24+
],
25+
),
26+
migrations.CreateModel(
27+
name='Post',
28+
fields=[
29+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
30+
('title', models.CharField(max_length=70)),
31+
('body', models.TextField()),
32+
('created_time', models.DateTimeField()),
33+
('modified_time', models.DateTimeField()),
34+
('excerpt', models.CharField(blank=True, max_length=200)),
35+
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
36+
('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.Category')),
37+
],
38+
),
39+
migrations.CreateModel(
40+
name='Tag',
41+
fields=[
42+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
43+
('name', models.CharField(max_length=100)),
44+
],
45+
),
46+
migrations.AddField(
47+
model_name='post',
48+
name='tags',
49+
field=models.ManyToManyField(blank=True, to='blog.Tag'),
50+
),
51+
]

blog/models.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from django.db import models
22
from django.contrib.auth.models import User
3+
from django.utils.six import python_2_unicode_compatible
34

45

6+
@python_2_unicode_compatible
57
class Category(models.Model):
68
"""
79
django 要求我们必须继承 models.Model 类,
@@ -20,7 +22,12 @@ class Category(models.Model):
2022
"""
2123
name = models.CharField(max_length=100)
2224

25+
def __str__(self):
26+
# python_2_unicode_compatible 装饰器用于兼容 Python2
27+
return self.name
2328

29+
30+
@python_2_unicode_compatible
2431
class Tag(models.Model):
2532
"""
2633
标签 Tag 也比较简单,
@@ -29,7 +36,12 @@ class Tag(models.Model):
2936
"""
3037
name = models.CharField(max_length=100)
3138

39+
def __str__(self):
40+
# python_2_unicode_compatible 装饰器用于兼容 Python2
41+
return self.name
42+
3243

44+
@python_2_unicode_compatible
3345
class Post(models.Model):
3446
"""
3547
文章的数据库表稍微复杂一点,主要是涉及的字段更多。
@@ -88,3 +100,7 @@ class Post(models.Model):
88100
# 因此这是一对多的关系,
89101
# 和 Category 类似。
90102
author = models.ForeignKey(User)
103+
104+
def __str__(self):
105+
# python_2_unicode_compatible 装饰器用于兼容 Python2
106+
return self.title

0 commit comments

Comments
 (0)