美文网首页
挖个树洞(1)model的初步设计

挖个树洞(1)model的初步设计

作者: 白练Draft | 来源:发表于2018-07-07 00:15 被阅读8次

    前几天用了一款树洞app,当天就遇到了ky回复,随后秒删。
    最近虽然学了python,但却不知道用来做什么比较好。那么就打算用python+django练练手,来写个树洞吧。

    具体计划如下:
    Step1:初步达成基本功能
    Step2:添加一些配置或分析的功能
    Step3:前后分离
    Step4:数据缓存

    首先要来设计一下数据表。
    除了系统自带的User表外,还需要至少三张表,目前的设计如下:

    (1)投稿

    class mPost(models.Model):
        title = models.CharField(max_length=30,null=False)
        content = models.TextField(null=False)
        can_reply = models.BooleanField(default=True)
        reply_count = models.IntegerField(default=0)
        user = models.ForeignKey(User,null=False)
        nick = models.CharField(max_length=10,default='匿名')
        available = models.BooleanField(default=True)
        timestamp = models.DateTimeField(auto_now_add=True)
        def __unicode__(self):
            return self.title
        class Meta:
            verbose_name = '投稿(mPost)'
            verbose_name_plural = '投稿(mPost)'
    
    

    其中,
    title是投稿标题,虽然现在设置为必填,但又觉得没有必要。
    can_reply表示是否接受回复。如果怕遇到ky,可以勾选不接受回复。
    reply_count用来缓存回复数量
    nick是用户对外公布的昵称,如果不填就默认显示为匿名

    (2)回复

    class mReply(models.Model):
        post = models.ForeignKey(mPost, null=False)
        content = models.TextField(null=False)
        user = models.ForeignKey(User,null=False)
        nick = models.CharField(max_length=10,default='匿名')
        timestamp = models.DateTimeField(auto_now_add=True)
        def __unicode__(self):
            return self.nick
        class Meta:
            verbose_name = '回复(mReply)'
            verbose_name_plural = '回复(mReply)'
    

    (3)通知

    class msg(models.Model):
        post = models.ForeignKey(mPost, null=False)
        user = models.ForeignKey(User,null=False)
        desc = models.CharField(max_length=30,default='')
        timestamp = models.DateTimeField(auto_now_add=True)
        def __unicode__(self):
            return self.desc
        class Meta:
            verbose_name = '通知(msg)'
            verbose_name_plural = '通知(msg)'
    

    途中遇到的一些问题:
    主要还是编码问题,一定要记得在文件开头添加# -*- coding: UTF-8 -*-才行啊!

    相关文章

      网友评论

          本文标题:挖个树洞(1)model的初步设计

          本文链接:https://www.haomeiwen.com/subject/wusiuftx.html