Python Django和技术领域
我正在建立一个数据模型。我希望每个模型都有一些技术字段,如:Python Django和技术领域,python,django,django-orm,dry,Python,Django,Django Orm,Dry,我正在建立一个数据模型。我希望每个模型都有一些技术字段,如:已创建和已更新。我不喜欢在每一个模型中都加入这些元素(你知道…干的) 我试图用创建的和更新的字段构建一个父类,并在其他模型中继承它,但Django的ORM没有将创建的和更新的字段放在模型的表中,而是为这两个字段创建另一个表,并通过外键将其链接到模型。那不是我想要的 有可行的方法吗?我做了多次: class TimeStampedModel(models.Model): """ An abstract base class
已创建
和已更新
。我不喜欢在每一个模型中都加入这些元素(你知道…干的)
我试图用创建的
和更新的
字段构建一个父类,并在其他模型中继承它,但Django的ORM没有将创建的
和更新的
字段放在模型的表中,而是为这两个字段创建另一个表,并通过外键将其链接到模型。那不是我想要的
有可行的方法吗?我做了多次:
class TimeStampedModel(models.Model):
"""
An abstract base class model that provides self-
updating 'created' and 'modified' fields
"""
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
对于其他型号:
from core.models import TimeStampedModel
class MyClass(TimeStampedModel):
"""
CLASS LAMBDA
"""
field = models.DecimalField(verbose_name=u"Name", max_digits=7, decimal_places=2)
field2 = models.CharField(verbose_name=u"Name 2", max_length=200)
现在在ipython
中:
from bundle.models.my_class import MyClass
item = MyClass.objects.first()
print item.created
现在创建的是在条目创建时设置的(auto\u Now\u add=True
),而修改的是在您<代码>已修改
您的条目(auto\u now=True
)
神奇的是,它是一个抽象类():
当您想要将一些公共信息放入许多其他模型中时,抽象基类非常有用。您编写基类并将abstract=True放入元类中。该模型将不会用于创建任何数据库表。相反,当它用作其他模型的基类时,它的字段将添加到子类的字段中
我做了多次:
class TimeStampedModel(models.Model):
"""
An abstract base class model that provides self-
updating 'created' and 'modified' fields
"""
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
对于其他型号:
from core.models import TimeStampedModel
class MyClass(TimeStampedModel):
"""
CLASS LAMBDA
"""
field = models.DecimalField(verbose_name=u"Name", max_digits=7, decimal_places=2)
field2 = models.CharField(verbose_name=u"Name 2", max_length=200)
现在在ipython
中:
from bundle.models.my_class import MyClass
item = MyClass.objects.first()
print item.created
现在创建的是在条目创建时设置的(auto\u Now\u add=True
),而修改的是在您<代码>已修改
您的条目(auto\u now=True
)
神奇的是,它是一个抽象类():
当您想要将一些公共信息放入许多其他模型中时,抽象基类非常有用。您编写基类并将abstract=True放入元类中。该模型将不会用于创建任何数据库表。相反,当它用作其他模型的基类时,它的字段将添加到子类的字段中
它对多个父项都有效。。这是一个抽象的类,它适用于多个父类。。这是一个抽象类