オブジェクトが保存された後、ユーザーに電子メールを送信しようとしています。しかし、送信する前に、許可されているかどうかを確認するためのユーザー プロファイルを取得できません。
models.py
class UserProfile(models.Model):
user = models.OneToOneField(User)
...
notifications = models.BooleanField(default=True)
...
class Follow(models.Model):
who = models.ForeignKey(User, related_name='he_follow')
whom = models.ForeignKey(User, related_name='him_follow')
...
def send_notification(sender, created, **kwargs):
if created:
obj = kwargs['instance']
check_it = obj.whom.get_profile().notifications
if check_it == True:
#rest code for sending emails works
else:
pass
post_save.connect(send_notification)
これはエラーを返す'LogEntry' object has no attribute 'whom'
ので、post_saveに送信者がいないためだと思いました。しかし、post_save 行を ` に変更した後
post_save.connect(send_notification, sender=Follow)
django がエラーでクラッシュしますNameError: name 'Follow' is not defined
。