follow()
UserProfile で関数が呼び出されたときにシグナルを使用したい。他のモデル (保存時) で動作するシグナルを作成しました。
class UserProfile(UserenaBaseProfile):
user = models.OneToOneField(User,unique=True,verbose_name=_('user'))
location = models.CharField(_('Location'), max_length=255, blank=True, default='')
following = models.ManyToManyField(User, verbose_name=_('following'), related_name='followers', blank=True, null=True)
def follow(self, user):
self.following.add(user)
def unfollow(self, user):
self.following.remove(user)
信号
def follow_action(sender, instance, created, action_object=None, **kwargs):
action.send(instance.user, verb='follows', target=instance.content_object)
post_save.connect(follow_action, sender=UserProfile)
この信号は、UserProfile
モデルが保存されたときに機能します。follow()
関数の実行時にシグナルを呼び出したい。助けてくれますか?何か案が?どうもありがとう
アップデート:
def follows_action(sender, instance, created, action_object=None, **kwargs):
action.send(instance.user, verb='follows', target=instance.content_object)
m2m_changed.connect(follows_action, sender=UserProfile.following.through)
それは動作しません。何か不足していますか?