实际现象
- 建表必备3字段: create_time, update_time, id
- 我在网上查了, 无非是定义一个 BaseModel 之类的
- 或者手动添加( 有更多的灵活性 )
预期现象
- 如果要做, 最好的做法是?
- 其实更多的疑惑是: 有必要这样吗? 其实貌似手动加也没啥工作量, 而且可控制性也很好
环境
- Django+ MySQL 5.6 + Linux
class TimeStampedModel(models.Model):
"""
abstract base class, 提供创建时间和修改时间两个通用的field
"""
created = models.DateTimeField(u'生成时间', auto_now_add=True)
modified = models.DateTimeField(u'修改时间', auto_now=True)
class Meta:
abstract = True
class Commit(TimeStampedModel):
uid = models.CharField(max_length=255)
content = models.TextField(max_length=1024)
objects = BasisManager()
def __unicode__(self):
return u"%s:%s" % (self.uid, self.doc_id)
其实文档中说的非常清楚:模型继承
1 回答1.3k 阅读✓ 已解决
1 回答802 阅读✓ 已解决
1 回答202 阅读✓ 已解决
基类(就是你说的 BaseModel)或元类。
没必要。而且
create_time
和update_time
本来就不是所有表都需要的(有很多的关系表场景都不一定需要)。