第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創(chuàng)建一個 post_save 信號,為我創(chuàng)建一個配置文件對象

創(chuàng)建一個 post_save 信號,為我創(chuàng)建一個配置文件對象

萬千封印 2023-08-22 10:40:47
下午好,我的用戶模型中有以下信號,但在創(chuàng)建用戶時它沒有創(chuàng)建配置文件對象,這是我做錯的。  def create_profile(sender, instance, created, **kwargs):    if created:        Profile.objects.create(user=instance)def save_profile(sender, instance, **kwargs):    instance.create_profile.save()post_save.connect(create_profile, sender=User)post_save.connect(save_profile, sender=User)
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗 獲得超10個贊

創(chuàng)建一個 signal.py 文件,然后在其中添加以下代碼:


from django.contrib.auth.models import User

from django.db.models.signals import post_save

from django.dispatch import receiver

from .models import Profile



@receiver(post_save, sender=User)

def create_profile(sender, instance, created, **kwargs):

    if created:

        Profile.objects.create(user=instance)



@receiver(post_save, sender=User)

def save_profile(sender, instance, **kwargs):

    instance.profile.save()

然后在您的用戶 apps.py 中添加以下代碼:


class UsersConfig(AppConfig):

name = 'users'


    def ready(self):

        import users.signals

那么你就完成了!


查看完整回答
反對 回復(fù) 2023-08-22
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊

假設(shè)您有一個名為“profiles”的應(yīng)用程序profiles/signals.py


from django.contrib.auth.models import User

from django.db.models.signals import post_save

from django.dispatch import receiver


from profiles.models import Profile


@receiver(post_save, sender=User)

def create_user_profile(sender, instance, created, **kwargs):

    if created:

        Profile.objects.create(user=instance)


@receiver(post_save, sender=User)

def save_user_profile(sender, instance, **kwargs):

    instance.profile.save()

在profiles/app.py


from django.apps import AppConfig

from django.utils.translation import ugettext_lazy as _


class ProfilesConfig(AppConfig):

    name = 'cmdbox.profiles'

    verbose_name = _('profiles')


    def ready(self):

        import cmdbox.profiles.signals  # noqa

終于在profiles/__init__.py


default_app_config = 'profiles.apps.ProfilesConfig'


查看完整回答
反對 回復(fù) 2023-08-22
  • 2 回答
  • 0 關(guān)注
  • 5372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號