gpt4 book ai didi

python - 'RelatedManager' 对象没有属性 'save' - Django

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:23 29 4
gpt4 key购买 nike

在 Django 中,我使用 @receiver 来保存一个名为 CampaignProfile 的模型对象,如下所示:

@receiver(post_save, sender=UserModel)
def save_campaign(sender, instance, created, **kwargs):
if created:
instance.CampaignProfile.save()

我创建了一个名为 UserModel 的自定义用户模型,它需要与 CampaignProfile 模型链接,其中 CampaignProfile 看起来像这样......

class CampaignProfile(models.Model):
user = models.ForeignKey(UserModel, related_name='CampaignProfile', on_delete=models.CASCADE, null=True)
campaign_title = models.CharField(max_length=50, verbose_name='Title')

但是,当我尝试通过终端创建一个新的 super 用户时,我会收到这样的错误...

AttributeError: 'RelatedManager' object has no attribute 'save'

有人知道为什么创建一个新的 super 用户会出现这种错误吗?谢谢。

最佳答案

没错 - 您不能直接在模型上调用 save() - 您只能在对象实例上调用 save()。看起来您需要在创建用户后创建一些默认用户配置文件。试试这个:

@receiver(post_save, sender=UserModel)
def save_campaign(sender, instance, created, **kwargs):
if created:
CampaignProfile.objects.create(
user = instance,
title = "Profile default title"
)

关于python - 'RelatedManager' 对象没有属性 'save' - Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42894381/

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