Назначить поле из связанной модели по умолчанию в другой модели

#python #django #database #sqlite #django-models

#python #django #База данных #sqlite #django-модели

Вопрос:

Как я могу присвоить значение по умолчанию current_amount как minimum_price ?

 class Auction(models.Model):
    minimum_price = models.PositiveIntegerField()
    .....

class Bid(models.Model):
    product = models.ForeignKey(Auction, related_name='auction')
    # i want to set this field's default to value of minimum_price from Auction model
    current_amount = models.PositiveIntegerField(default=product__minimum_price)
    #also tried default=product.minimum_price
  

Как я могу этого добиться?

Ответ №1:

Одним из решений является

 class Bid(models.Model):
    product = models.ForeignKey(Auction, related_name='auction')
    current_amount = models.PositiveIntegerField()

    def save(self, *args, **kwargs):
        if not self.current_amount:
            self.current_amount = self.product.minimum_price
        super(Bid, self).save(*args, **kwargs)