Найти - Пользователи
Полная версия: При добавлении новой записи, оновлять данные в другой таблице
Начало » Django » При добавлении новой записи, оновлять данные в другой таблице
1
cyberz
Привет всем!

в джанге новичок, никак не допру как решить простейшую задачу:

class Tovar(models.Model):
nam = models.CharField(max_length=200, unique=True)
prihods = models.IntegerField(default=0)
rashods = models.IntegerField(default=0)
stok = models.IntegerField(default=0)

class Prihod(models.Model):
dat = models.DateTimeField(default=timezone.now)
tovar = models.ForeignKey(Tovar, unique=False, on_delete=models.CASCADE)
kolvo = models.IntegerField(default=0)
cenaone = models.FloatField(default=0)
cenaall = models.FloatField(default=0)
postav = models.ForeignKey(Postav, unique=False, on_delete=models.CASCADE)

при добавлении записи в таблицу Prihod нужно в таблице Tovar обновлять поле prihods +1 согласно добавленного в tovar

Спасибо!!
Striver
при добавлении записи в таблицу Prihod нужно в таблице Tovar обновлять поле prihods +1 согласно добавленного в tovar
Ну ты можешь как-то переопределить метод save() у модели Prihod. При таком подходе, скорее всего, возникнут свои сложности, но это возможно.

Другой вопрос, зачем тебе это? Если тебе требуется в какой-то момент времени значть, сколько было приходов, то делай запрос, типа такого:
 prihods = Prihod.objects.filter(tovar=tovar).count()
Для этого не нужно какждый раз обновлять поле в модели Tovar.
slav0nic
2й вариант - обработчик сигнала на `post_save`
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB