[英]Django abstract model not working as expected
我有一个抽象的 Django 模型和一个基本模型。 我期望基本模型的任何实例都具有字段 created_at 或 updated_at 的值。 但是,截至目前,我所有的实例都没有这两个字段。 我究竟做错了什么?
from django.db import models
class Trackable(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
class Quotation(Trackable):
reference = models.CharField(null=True, max_length=80)
quotation = Quotation(id=1)
print(quotation.created_at)
>>> None
这些字段的计算结果为None
,因为抽象模型中的这些字段仅在对象保存在数据库中时才被填充。 当你只实例化你的模型时,它不会接触数据库,所以它们的值为 None ,除非你调用save()
方法。
尝试:
quotation = Quotation(id=1)
quotation.save()
print(quotation.created_at)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.