1. 程式人生 > >BBS論壇專案

BBS論壇專案

一.表結構設計:

  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