Как приравнять поле модели к другому полю в той же модели?

Я бы хотел, чтобы поле external_id всегда наследовало значения temporary_id (в экспериментальных целях).

Я просто хочу, чтобы оно было равно полю temporary_id. Как мне это сделать?

# External parts Lookup table
class External(models.Model):
    temporary_id = models.CharField(max_length=32, unique=True)                                      # Unique temporary external id
    actual_id = models.CharField(max_length=32, unique=True, blank=True)                             # Unique actual external id
    external_id = temporary_id                                                
    # Display below in admin 
    def __str__(self): 
       return f"{self.external_id}"

вы можете переопределить метод save

class External(models.Model):
      temporary_id = models.CharField(max_length=32, unique=True)                                      
      actual_id = models.CharField(max_length=32, unique=True, blank=True)                             
      external_id = models.CharField(max_length=32,blank=True, null=True)
                                           
      def __str__(self): 
         return f"{self.external_id}"

      def save(self, *args, **kwargs):
         self.external_id = self.temporary_id
         super(External, self).save(*args, **kwargs)
Вернуться на верх