为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Django 信号访问字段

如何使用 Django 信号访问字段

catspeake 2021-06-11 15:19:25
当新记录保存到我的 Django 数据库中时,我想检查字段 (lightStatusA) 的值。我觉得我已经阅读了 10 次文档,但仍然无法掌握如何获得它。这是我当前的 models.py 代码:from django.db import modelsfrom accounts.models import Customerfrom django.conf import settingsfrom django.contrib.auth import get_user_modelfrom django.db.models.signals import post_saveclass Data(models.Model):    author = models.ForeignKey(get_user_model(),on_delete=models.CASCADE,)    tempData= models.CharField(max_length=50,blank=True,)    humidData= models.CharField(max_length=50,blank=True,)    lightStatusA= models.BooleanField(default=True,)     dateTime = models.DateTimeField(auto_now_add=True)    def __str__(self):        return str(self.author)def check_light_status(sender, **kwargs):    if kwargs['created']: #make sure its a new record        #need logic to grab instance.lightStatusA and check it's valuepost_save.connect(check_light_status, sender = Data)有没有办法将此值作为参数传递给信号?
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

啊,明白了:

def check_light_status(sender, instance, **kwargs):
    if kwargs['created']: #make sure its a new record
        print(instance.lightStatusA)

这将打印我需要对其运行一些逻辑的字段。


查看完整回答
反对 回复 2021-06-15
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信