models.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. content = models.TextField()
  47. class LeaveMsg(models.Model):
  48. cmid = models.BigIntegerField(primary_key=True)
  49. reviewed = models.BooleanField(default=False)
  50. time = models.DateTimeField(auto_now_add=True,auto_now=True)
  51. anonymou = models.BooleanField(default=True)
  52. stoken = models.CharField(max_length=36,db_index=True)
  53. mail = models.CharField(max_length=255,blank=True,null=True)
  54. website = models.CharField(max_length=255,blank=True,null=True)
  55. fromuser = models.CharField(max_length=64)
  56. content = models.TextField()