django MyModel.objects.filter(pk=obj.pk) 的时候怎么向这个object中添加一个自定义字段
时间: 2024-02-23 17:01:17 浏览: 59
在 Django 中,Model 类的字段是预定义的,不能在运行时动态地添加字段。如果您需要为一个对象添加一个自定义字段,您可以考虑使用 Django 的 Signals 机制,为该 Model 添加一个自定义的 Signal,并在 Signal 的处理程序中添加该字段。
下面是一个示例:
```python
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import MyModel
@receiver(post_save, sender=MyModel)
def add_custom_field(sender, instance, **kwargs):
instance.custom_field = 'your custom field value'
instance.save()
```
这个 Signal 会在 MyModel 对象被保存之后自动触发,它会将一个自定义字段 `custom_field` 添加到对象中,并保存该对象。您可以根据自己的需求修改这个处理程序。
阅读全文