models.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. from django.db import models
  2. from zlogin.models import User,UserGroup
  3. class KVConf(models.Model):
  4. key = models.CharField(max_length=64,unique=True,db_index=True)
  5. value = models.TextField()
  6. class BlogCategoty(models.Model):
  7. engname = models.CharField(max_length=64,db_index=True)
  8. title = models.CharField(max_length=64)
  9. def __unicode__(self):
  10. return self.title
  11. def __repr__(self):
  12. return self.engname
  13. # Create your models here.
  14. class BlogPost(models.Model):
  15. class Meta:
  16. ordering = ["-pubtime"]
  17. title = models.CharField(max_length=128)
  18. category = models.ManyToManyField(BlogCategoty,null=True)
  19. author = models.ForeignKey(User,related_name="pichublog_post_set")
  20. crttime = models.DateTimeField(auto_now_add=True)
  21. pubtime = models.DateTimeField(auto_now_add=True,auto_now=True)
  22. markdown = models.TextField()
  23. rendered = models.BooleanField(default=False)
  24. html = models.TextField()
  25. hidden = models.BooleanField(default=True)
  26. private = models.BooleanField(default=False)
  27. passwdlck = models.BooleanField(default=False)
  28. passwd = models.CharField(max_length=128)
  29. readgrp = models.ManyToManyField(UserGroup,blank=True,null=True,related_name="pichublog_readgrp")
  30. readuin = models.ManyToManyField(User,blank=True,null=True,related_name="pichublog_readuin")
  31. readuex = models.ManyToManyField(User,blank=True,null=True,related_name="pichublog_readuex")
  32. freecomment = models.BooleanField(default=True)
  33. commentgrp = models.ManyToManyField(UserGroup,blank=True,null=True,related_name="pichublog_commentgrp")
  34. commentuin = models.ManyToManyField(User,blank=True,null=True,related_name="pichublog_commentuin")
  35. commentuex = models.ManyToManyField(User,blank=True,null=True,related_name="pichublog_commentuex")
  36. class BlogComment(models.Model):
  37. cmid = models.BigIntegerField(primary_key=True)
  38. reviewed = models.BooleanField(default=False)
  39. post = models.ForeignKey(BlogPost)
  40. time = models.DateTimeField(auto_now_add=True,auto_now=True)
  41. anonymou = models.BooleanField(default=True)
  42. stoken = models.CharField(max_length=36,db_index=True)
  43. mail = models.CharField(max_length=255,blank=True,null=True)
  44. website = models.CharField(max_length=255,blank=True,null=True)
  45. fromuser = models.CharField(max_length=64)
  46. title = models.CharField(max_length=255)
  47. content = models.TextField()
  48. class LeaveMsg(models.Model):
  49. cmid = models.BigIntegerField(primary_key=True)
  50. reviewed = models.BooleanField(default=False)
  51. time = models.DateTimeField(auto_now_add=True,auto_now=True)
  52. anonymou = models.BooleanField(default=True)
  53. stoken = models.CharField(max_length=36,db_index=True)
  54. mail = models.CharField(max_length=255,blank=True,null=True)
  55. website = models.CharField(max_length=255,blank=True,null=True)
  56. fromuser = models.CharField(max_length=64)
  57. title = models.CharField(max_length=255)
  58. content = models.TextField()