gpt4 book ai didi

python - 如何使用 django 信号访问字段

转载 作者:行者123 更新时间:2023-12-01 09:03:32 25 4
gpt4 key购买 nike

当新记录保存到我的 Django 数据库中时,我想检查字段 (lightStatusA) 的值。我觉得我已经读了 10 遍文档了,但仍然不明白如何得到这个。这是我当前的 models.py 代码:

from django.db import models
from accounts.models import Customer
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db.models.signals import post_save

class 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 value

post_save.connect(check_light_status, sender = Data)

是否有某种方法可以将此值作为参数传递给信号?

最佳答案

check_light_status 函数可以接受 instance 参数。

来自the docs :

instance
The actual instance being saved.

更新:您这样说:

instance returns the author of the post.

我将利用我的推理能力来猜测您尝试了 print(instance) 并看到了作者。查看您的 __str__ 实现。

def __str__(self):
return str(self.author)

我想说你在那里有点破坏自己;)

关于python - 如何使用 django 信号访问字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52264764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com