首页 > 解决方案 > 记录对 Django 模型字段的访问?

问题描述

我有一个包含 100 多个字段的 Django 模型,并且想记录哪些字段用于清理模型。

例如,运行时使用了哪些字段Person.objects.get(person_id=123)

标签: djangodjango-models

解决方案


你需要详细说明你的问题

https://docs.djangoproject.com/en/3.2/ref/signals/#django.db.models.signals.pre_save

@receiver(pre_save, sender=Post)
def pre_save_receiver(sender, instance, created=False,  *args, **kwargs):
    if instance._state.adding:
        try:

            last_id = Post.objects.latest('id').id + 1
        except Post.DoesNotExist:
            last_id = 1
        # ln as language code
        ln = 'en'
        # unidecode to change it from slug of diffrent language other
        # than english to slug
        instance.slug = f'{slugify(unidecode(instance.title))}-{hex(last_id)}-en'
        print("#33##################")
        
        print(instance.title)
        print("#33##################")

        # This will be used to translate and speech translation

    else:
        print("Only updating")
        # no translation for now

        # print_title.delay(pk=instance.id)
        
        for x in instance.tags.all():
            print(x)

就像那样 () 你可以为此使用 pre_save


推荐阅读