Значение по умолчанию на моделях Django - PullRequest
0 голосов
/ 12 мая 2018

Я работаю над следующей моделью:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    page = models.CharField(max_length=64, default='Page of XXXX')

Я пытаюсь установить значение по умолчанию для поля страницы, содержащего имя пользователя . Что-то вроде: «Страница воли» или «Страница Сэма», где пользователями были Уилл или Сэм.

Спасибо, P.Arias

1 Ответ

0 голосов
/ 17 мая 2018

Попробуйте использовать с вашей функцией "create ()":

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    page = models.CharField(max_length=64)

    @classmethod
    def create(cls, name):
        if name:
            return Profile.objects.get_or_create(user=name, 
                                                 page='Page of ' + name)
            # or
            return cls(user=name, page='Page of ' + name).save()

И вставьте пользователей через эту функцию:

Profile.create(name="Will")
...