Каково правило для значения по умолчанию в полях Django? - PullRequest
1 голос
/ 21 января 2020

Я ломаю голову, пытаясь понять, почему значение по умолчанию требуется для некоторых, но не для всех полей. Например, в документации сказано, что models.CharField() имеет только один обязательный параметр, который max_length, но python manage.py makemigration возвращает ошибку, если значение по умолчанию не указано. И у меня та же ошибка для некоторых из моих models.ForeignKey() полей. Не могли бы вы объяснить, почему и когда следует указывать значение по умолчанию?

models.py

class Algo(models.Model):
    strategy = models.ManyToManyField(Strategy, related_name='strategy')
    name = models.CharField(max_length=12) # <-- Return an error !?

    class Meta:
        verbose_name_plural = "algos"

    def __str__(self):
        return self.name

1 Ответ

1 голос
/ 21 января 2020

Сначала прочитайте о blank и null:

{ ссылка }

Тогда вы сможете лучше понять значение по умолчанию. Если вы не установили пустое и нулевое значение True и пытаетесь перенести существующую таблицу, вам нужно предоставить поле с одноразовым значением по умолчанию, которое заполнит теперь необнуляемый столбец

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...