put auto_now_add on ModelLog date

sync
Laurent 9 months ago
parent 4ad2c228cd
commit 5922e1b6ec
  1. 18
      sync/migrations/0002_alter_modellog_date.py
  2. 2
      sync/models/model_log.py
  3. 6
      sync/signals.py

@ -0,0 +1,18 @@
# Generated by Django 5.1 on 2025-02-06 13:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sync', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='modellog',
name='date',
field=models.DateTimeField(auto_now_add=True),
),
]

@ -18,7 +18,7 @@ class ModelLog(models.Model):
users = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='model_logs', blank=True) users = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name='model_logs', blank=True)
model_id = models.UUIDField() model_id = models.UUIDField()
operation = models.CharField(choices=ModelOperation.choices, max_length=50) operation = models.CharField(choices=ModelOperation.choices, max_length=50)
date = models.DateTimeField() date = models.DateTimeField(auto_now_add=True)
model_name = models.CharField(max_length=50) model_name = models.CharField(max_length=50)
store_id = models.CharField(max_length=200, blank=True, null=True) store_id = models.CharField(max_length=200, blank=True, null=True)
device_id = models.CharField(max_length=200, blank=True, null=True) device_id = models.CharField(max_length=200, blank=True, null=True)

@ -58,8 +58,10 @@ def synchronization_notifications(sender, instance, created=False, **kwargs):
signal = kwargs.get('signal') signal = kwargs.get('signal')
save_model_log_if_possible(instance, signal, created, device_id) save_model_log_if_possible(instance, signal, created, device_id)
notify_impacted_users(instance)
# print(f'*** instance._state.db: {instance._state.db}') # print(f'*** instance._state.db: {instance._state.db}')
transaction.on_commit(lambda: notify_impacted_users(instance)) # transaction.on_commit(lambda: notify_impacted_users(instance))
def notify_impacted_users(instance): def notify_impacted_users(instance):
user_ids = set() user_ids = set()
@ -124,7 +126,7 @@ def save_model_log(users, model_operation, model_name, model_id, store_id, devic
model_log.model_id = model_id model_log.model_id = model_id
model_log.store_id = store_id model_log.store_id = store_id
model_log.device_id = device_id model_log.device_id = device_id
model_log.date = timezone.now() # model_log.date = timezone.now()
model_log.save() model_log.save()
model_log.users.set(users) model_log.users.set(users)

Loading…
Cancel
Save