Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » При добавлении новой записи, оновлять данные в другой таблице [RSS Feed]

#1 Фев. 28, 2020 15:42:43

cyberz
Зарегистрирован: 2020-02-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

При добавлении новой записи, оновлять данные в другой таблице

Привет всем!

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

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

Спасибо!!

Отредактировано cyberz (Фев. 28, 2020 15:43:03)

Офлайн

#2 Март 27, 2020 15:28:06

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

При добавлении новой записи, оновлять данные в другой таблице

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

Другой вопрос, зачем тебе это? Если тебе требуется в какой-то момент времени значть, сколько было приходов, то делай запрос, типа такого:
 prihods = Prihod.objects.filter(tovar=tovar).count()
Для этого не нужно какждый раз обновлять поле в модели Tovar.



Офлайн

#3 Март 27, 2020 15:39:31

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

При добавлении новой записи, оновлять данные в другой таблице

2й вариант - обработчик сигнала на `post_save`

Офлайн

  • Начало
  • » Django
  • » При добавлении новой записи, оновлять данные в другой таблице[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version