Сигнал Проблема при создании экземпляра моей модели

помогите пожалуйста У меня проблема Я пытаюсь написать сигнал в моем коде, когда пользователь регистрируется, создать портфель и профиль для пользователя, он может создать пользователя, профиль и портфель правильно, но когда я хочу создать рынок в администраторе (потому что только администратор может создать рынок, не пользователь) я получил ошибку от моего сигнала эта строка('instance.Portfolio.save(market=instance)'),
. Мой сигнал


    @receiver(post_save, sender=User)
def create_user_portfolio(sender, instance, created, **kwargs):
    if created:
        Portfolio.objects.create(user=instance)


@receiver(post_save, sender=Market)
def save_user_portfolio(sender, instance, **kwargs):
    instance.Portfolio.save(market=instance)

Это модель моего портфеля


    class Portfolio(models.Model):
    name = models.CharField(max_length=50, blank=False, null=True, default='portfolio')
    user = models.ForeignKey('accounts.User', on_delete=models.DO_NOTHING, related_name='investor')
    assets = models.ManyToManyField(Assets, related_name='assets')

Моя модель пользователя

class User(AbstractBaseUser, PermissionsMixin):
    username = models.CharField(max_length=255)
    email = models.EmailField(max_length=255, unique=True, db_index=True)
    is_verified = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_author = models.BooleanField(default=False)
    is_admin = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    auth_provider = models.CharField(
        max_length=255, blank=False,
        null=False, default=AUTH_PROVIDERS.get('email'))

Я должен сказать, что мое портфолио и пользователь находятся в другом приложении
И это моя модель рынка, возможно, она вам нужна


    class Market(models.Model):
    name = models.CharField(max_length=50, unique=True, blank=False, null=False)
    currency = models.CharField(max_length=25, blank=False, null=False)

Моя ошибка заключается в следующем: У объекта 'Market' нет атрибута 'Portfolio'

Моя проблема была решена с помощью следующего кода,

Мне нужно было отключить сигнал перед сохранением, а затем снова подключить

    def post_save_product(sender, instance, **kwargs):
    post_save.disconnect(post_save_product, sender=sender)
    instance.save()
    post_save.connect(post_save_product, sender=sender)
post_save.connect(post_save_product, sender= Market)

Вернуться на верх