· 6 years ago · Aug 11, 2019, 01:46 PM
1class Post(models.Model):
2 post_title = models.CharField(verbose_name='Post Title', max_length=150)
3 category = models.ManyToManyField(Category, verbose_name='Categories of Post')
4 author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='Author')
5 post_img = models.ImageField(blank=True, null=True, upload_to='uploads/post_img', verbose_name='Post Image')
6 create_date = models.DateTimeField(default=timezone.now)
7 published_date = models.DateTimeField(blank=True, null=True)
8 content = models.TextField()
9
10 def publish(self):
11 self.published_date = timezone.now()
12 self.save()
13
14 def approve_comment(self):
15 return self.comments.filter(approve_comment=True)
16
17 def __str__(self):
18 return self.title
19
20python manage.py makemigrations first_app
21python manage.py migrate
22
23python manage.py dbshell
24.schema --indent first_app_post
25
26CREATE TABLE IF NOT EXISTS "first_app_post"(
27 "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
28 "post_title" varchar(150) NOT NULL,
29 "status" varchar(50) NOT NULL,
30 "post_img" varchar(100) NULL,
31 "create_date" datetime NOT NULL,
32 "published_date" datetime NULL,
33 "content" text NOT NULL,
34 "author_id" integer NOT NULL REFERENCES "auth_user"("id") DEFERRABLE INITIALLY DEFERRED
35);
36CREATE INDEX "first_app_post_author_id_33df8a24" ON "first_app_post"(
37 "author_id"
38);