我不知道如何删除班级中的重叠。 如果我们想改变日期时间格式怎么办?
from django.db import models
class A(models.Model):
created_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
class B(models.Model):
created_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
class C(models.Model):
created_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
答案 0 :(得分:2)
继承救援:
class BaseModel(models.Model):
created_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
class A(BaseModel):
pass
class B(BaseModel):
pass
class C(BaseModel):
pass
现在A
,B
和C
都有created_time
和updated_time
。
关于日期时间格式的第二个问题,您不必担心模型中的那个部分。 created_time
实例在A
的实例上返回的对象将是一个Python datetime
对象,可以在您的视图中使用strftime
格式化(这里是{{3 (对于格式代码),或模板中的a good cheatsheet。
答案 1 :(得分:1)
并且不要忘记使用abstract = True
class BaseModel(models.Model):
...
class Meta:
abstract = True
或者您将在数据库中完成4个表,包括'appname_basemodel'表