@Ossmium

Как создать связующую таблицу и при создании записи в другой таблице записывать данные в связующую?

Проблема заключается в следующем. У меня есть модель Plugin
class Plugin(models.Model):
    plugin_name = models.CharField(null=False, blank=True)
    plugin_description = models.TextField(null=True, blank=True)
    isDisplay = models.BooleanField(default=True)

И я хочу, чтобы у каждого конкретного пользователя была возможность выбора доступных плагинов. Для этого я хочу создать связующую таблицу, в которой бы содержалась следующая информация: id пользователя, id плагина и свойство активности. Сделал следующее
class UserPlugins(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    plugins = models.ForeignKey(Plugin, on_delete=models.CASCADE)
    isActive = models.BooleanField(default=True)

Однако возник вопрос того, как заносить туда данные. Пробовал с помощью сигнала post_save
@receiver(post_save, sender=Plugin)
def save_user_profile(sender, instance, **kwargs):
    UserPlugins.objects.create(instance)

Но из этого сигнала не могу получить информацию о пользователе. Подскажите, как решить проблему? Или же подскажите другие способы для решения вопроса
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы