BBS論壇專案
阿新 • • 發佈:2018-11-08
一.表結構設計:
1.帖子:
1 class Article(models.Model):
2 title = models.CharField(max_length=255,unique=True)
3 category = models.ForeignKey('Category')
4 priority = models.IntegerField(default=1000)
5 author = models.ForeignKey("UserProfile")
6 content = models.TextField(max_length=100000)
7 breif = models.TextField(max_length=512,default='none.....')
8 head_img = models.ImageField(upload_to="upload/bbs_summary/")
9 publish_date = models.DateTimeField(auto_now_add=True)
10
11 def __unicode__(self):
12 return self.title
2.評論:一對多。一個帖子有多個評論,一個評論針對一個帖子:
1 class Comment(models.Model):
2 bbs = models.ForeignKey('Article')
3 parent_comment = models.ForeignKey('Comment',blank=True,null=True,related_name='p_comment')
4 user = models.ForeignKey('UserProfile')
5 comment = models.TextField(max_length=1024)
6 date = models.DateTimeField(auto_now_add=True)
7
8 def __str__(self):
9 return self.comment
3.:
1 class Thumb(models.Model):
2 bbs = models.ForeignKey('Article')
3 action_choices = (('thumb_up','Thumb Up'), ('view_count',"View Count"))
4 action = models.CharField(choices=action_choices,max_length=32)
5 user = models.ForeignKey('UserProfile')
6
7 def __str__(self):
8 return "%s : %s" %(self.bbs.title,self.action)
4.板塊(分類):
1 class Category(models.Model):
2 name = models.CharField(max_length=32,unique=True)
3 enabled = models.BooleanField(default=True)
4 def __str__(self):
5 return self.name
5.使用者:
1 class UserProfile(models.Model):
2 user = models.OneToOneField(User)
3 name = models.CharField(max_length=64)
4 user_groups = models.ManyToManyField('UserGroup')
5
6 friends = models.ManyToManyField("self",blank=True)
7 online = models.BooleanField(default=False)
8
9 def __str__(self):
10 return self.name