问题描述
我正在完成一个大学项目,每当用户向其他人发送消息时,我都会停留在生成通知的过程中,虽然我有一个通知模型,但无法将消息发送给通知
在django admin中,我已经可以插入通知并显示屏幕,但是只能手动进行,当用户发送消息时,它不会发送到通知模型:'(
from django.db import models
from django.db.models.signals import post_save,post_delete
class Chat(models.Model):
codigoSala = models.CharField(max_length=20,unique=True)
locador = models.CharField(max_length=50,blank=False,null=False)
locatario = models.CharField(max_length=50,null=False)
nomeSala = models.CharField(max_length=200,blank=True,null=True)
def __str__(self):
super().__init__()
return self.codigoSala
def add_chat(self):
sender_message = Chat(
self.codigoSala,self.locador,self.locatario,self.nomeSala)
sender_message.save()
class Mensagem(models.Model):
texto = models.CharField(max_length=80)
chat = models.ForeignKey(Chat,on_delete=models.CASCADE)
def __str__(self):
return self.texto
def add_message(sender,instance,*args,**kwargs):
message = instance
据我所知,这里我无法获得此参数信息,信号不允许请求参数(在我的情况下为add_message)
下面的这些值在url中传递,我设法获得了这些值,但是我尝试了不同的方法来解决我的实际问题,但我忘记了如何做,现在我找到了一种解决问题的方法,这个重要的部分丢失了,哈哈
codigoSala = ?
locador = ?
locatario = ?
nomeSala = ?
context = {
'codigoSala':codigoSala,'locador': locador,'locatario':locatario,'nomeSala':nomeSala
}
stream = Mensagem(texto=message,chat=context)
stream.save()
post_save.connect(Mensagem.add_message,sender=Mensagem)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)