В документации написано, что при вызове методе save() если такой primary key уже существует, то метод обновит такую запись, а не добавит новую. Получается я что-то делаю не так, раз моими записи в Postgre не обновляется.
models.py
class Sheduler(models.Model): job_id = models.OneToOneField(Jobs, primary_key=True, unique=True, db_column="job_id") Mo = models.ForeignKey(TypeBackup, related_name="Job_in_Mon", default=0, verbose_name="Пн", db_column="Mo") Tu = models.ForeignKey(TypeBackup, related_name="Job_in_Tue", default=0, verbose_name="Вт", db_column="Tu") We = models.ForeignKey(TypeBackup, related_name="Job_in_Wen", default=0, verbose_name="Ср", db_column="We") Th = models.ForeignKey(TypeBackup, related_name="Job_in_Thu", default=0, verbose_name="Чт", db_column="Th") Fr = models.ForeignKey(TypeBackup, related_name="Job_in_Fri", default=0, verbose_name="Пт", db_column="Fr") Sa = models.ForeignKey(TypeBackup, related_name="Job_in_Sat", default=0, verbose_name="Сб", db_column="Sa") Su = models.ForeignKey(TypeBackup, related_name="Job_in_Sun", default=0, verbose_name="Вс", db_column="Su")
form.py
class CreateJobSheduler(ModelForm): class Meta: model = Sheduler fields = "__all__"
view.py
def addtaskinshedule(request): if request.POST: form = CreateJobSheduler(request.POST) if form.is_valid(): form.save() return redirect('/jobs/')
Предположу, что надо явно указать “pk”, если так, то как это правильно сделать