#django #django-models
#django #django-модели
Вопрос:
Я запустил приложение car fleet и создал несколько моделей в файле, связанном с моделями, я создал иерархию моделей, в которой сверху у меня есть марка автомобиля, ниже модели автомобилей, связанные с ForeignKey, для каждой марки и ForeignKey для каждого идентификатора автомобиля, который в конечном итоге составляет инвентарь автомобилей, который называется «class CarPool», в этоммодель, у меня есть значение «car_sale_status = модели.BooleanField(default = False)», чего я хотел бы добиться, так это того, что каждый раз, когда я создаю экземпляр из связанного внешнего ключа продавца, он автоматически обновляется «car_sale_status = models.BooleanField(по умолчанию = False)» в True
Пожалуйста, посоветуйте
Спасибо
class CarPool(models.Model):
# Relationship Fields
car_inventory = models.ForeignKey(
'cardealer.CarTypes',
on_delete=models.CASCADE, related_name="carpools",
)
car_id = models.CharField(max_length=30,default="")
car_location = GeopositionField()
car_sale_status = models.BooleanField(default=False)
YEAR_CHOICES = []
for r in range(1980, (datetime.datetime.now().year 1)):
YEAR_CHOICES.append((r,r))
year_manufacture = models.IntegerField(('year_manufacture'), choices=YEAR_CHOICES, default=datetime.datetime.now().year)
def __str__(self):
return self.car_id
def __unicode__(self):
return self.car_inventory
class CustomerBuyer(models.Model):
buyer_car_buy = models.ForeignKey(
'cardealer.CarPool',
on_delete=models.CASCADE, related_name="customer_buyer",default='0'
)
buyer_private_name = models.CharField(max_length=80,default='')
buyer_family_name = models.CharField(max_length=80,default='')
buyer_private_id = models.IntegerField(default=0)
transaction_date = models.DateTimeField(default=datetime.datetime.now())
transaction_amount = models.IntegerField(default=0)
def __str__(self):
return self.buyer_private_name ' ' self.buyer_family_name
def __unicode__(self):
return self.buyer_private_name ' ' self.buyer_family_name
Ответ №1:
если я вас правильно понял, просто разверните метод «сохранить»
class CustomerBuyer(models.Model):
buyer_car_buy = models.ForeignKey(
'cardealer.CarPool',
on_delete=models.CASCADE, related_name="customer_buyer",default='0'
)
buyer_private_name = models.CharField(max_length=80,default='')
buyer_family_name = models.CharField(max_length=80,default='')
buyer_private_id = models.IntegerField(default=0)
transaction_date = models.DateTimeField(default=datetime.datetime.now())
transaction_amount = models.IntegerField(default=0)
def __str__(self):
return self.buyer_private_name ' ' self.buyer_family_name
def __unicode__(self):
return self.buyer_private_name ' ' self.buyer_family_name
def save(self, *arg, **kwargs):
super(CustomerBuyer, self).save(*args, **kwargs)
self.buyer_car_buy.car_sale_status = True
self.buyer_car_buy.save()