Как я могу добавить пользователя по умолчанию к объекту, когда пользователь, который создал объект, был удален - PullRequest
0 голосов
/ 07 июля 2019

У меня есть модель Tasks содержит user внешний ключ при удалении пользователя, как я могу добавить другого пользователя к этому объекту в качестве резервного пользователя при удалении создателя?

first_user = User.objects.get(username='nagah')


class Task(models.Model):
    taskname = models.CharField(max_length=30)
    created = models.DateTimeField(auto_now=True)
    is_complete = models.BooleanField(default=False)
    user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, default=first_user.id)

1 Ответ

0 голосов
/ 07 июля 2019

Вы можете сделать это путем переопределения save() метода вашей модели Task

class Task(models.Model):
    # your fields here

    def save(self, *args, **kwargs):
        # check if it's an existing object with no user
        if self.id and not self.user:
            first_user = User.objects.get(username='nagah')
            self.user = first_user
        super(Task, self).save(*args, **kwargs)


...