Как преобразовать модели .IntegerField () в целое число? - PullRequest
1 голос
/ 18 мая 2019

Я пытаюсь присвоить значение по умолчанию атрибуту моей таблицы.Это значение является значением другого атрибута.Вот выдержка

nombre_etudiant = models.IntergeField()
place_disponible =models.IntegerField(default=int(nombre_etudiant))

Я пытался с to_pythyon (), мы сказали мне: 'to_python' не определен Как это сделать??

Ответы [ 2 ]

1 голос
/ 19 мая 2019

Вам необходимо переопределить метод save () класса модели.

class MyModel(models):
   nombre_etudiant = models.IntergeField()
   place_disponible =models.IntegerField()

   def save(self, *args, **kwargs):
       if not self.place_disponible:
           self.place_disponible = int(nombre_etudiant)
           super(Subject, self).save(*args, **kwargs)
1 голос
/ 19 мая 2019

вы можете добавить инициализацию атрибута в методе __init__.

Правильный способ сделать это будет

class Foo(models):
    nombre_etudiant = models.IntergeField()
    place_disponible =models.IntegerField(blank=True,null=True)

    def __init__(self,*args,**kwargs):
        super(Foo, self).__init__(*args, **kwargs)
        if self.place_disponible is None:
            self.place_disponible = self.nombre_etudiant
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...