django - 记录对 Django 模型字段的访问?
问题描述
我有一个包含 100 多个字段的 Django 模型,并且想记录哪些字段用于清理模型。
例如,运行时使用了哪些字段Person.objects.get(person_id=123)
。
解决方案
你需要详细说明你的问题
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
推荐阅读
- python-3.x - 为什么我的字符串在字典中分配时被拆分?
- python - python pip-这些包与使用 docker 安装 rasa 的要求文件中的哈希不匹配
- node.js - React/Express - Axios 获取所需的请求帮助
- php - Wordpress 如何使用 WP_Query 获取 ACF 关系
- python - 如何使用 Django 和 Neo4j 数据库创建 GraphQL API?
- javascript - 为什么只有在之后才执行验证?
- javascript - React JS:组件正在将受控输入更改为不受控制
- apache-kafka - 如何在 avro-console-producer 中发送授权标头(或)访问令牌
- r - 在 R 中有效地重构时间拼写数据
- node.js - 如何使用nodejs在promisify命令上实现promiseall?