# core/models.py
class TimeStampedModel(models.Model):
created = models.DateTimeField(
'criado em',
auto_now_add=True,
auto_now=False
)
modified = models.DateTimeField(
'modificado em',
auto_now_add=False,
auto_now=True
)
class Meta:
abstract = True
E podemos herdar, por exemplo, em crm nos models Customer e Seller.
# crm/models.py
from backend.core.models import TimeStampedModel
class Customer(Person, TimeStampedModel):
...
class Seller(Person, TimeStampedModel):
...
python manage.py shell_plus
Customer.objects.all()
sellers = Seller.objects.all()
for seller in sellers:
print(seller.first_name, seller.created)
Mas o django-seed altera o campo created também, então façamos
from time import sleep
names = ['Huguinho', 'Zezinho', 'Luizinho']
for name in names:
Seller.objects.create(
first_name=name,
last_name='Donald',
email=f'{name.lower()}@email.com'
)
sleep(1.2) # Só um testezinho de delay
sellers = Seller.objects.filter(last_name='Donald')
for seller in sellers:
print(seller.first_name, seller.created)