From b9d465f701ade115cbf054ad86c9e04beb62270c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Thu, 30 Mar 2023 10:25:46 +0200 Subject: [PATCH] save primary keys before using in save_model --- contracts/admin.py | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/contracts/admin.py b/contracts/admin.py index e39fc25..40623f0 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -5,26 +5,18 @@ from django.contrib import admin from django.contrib.auth.models import Permission from django.utils.html import format_html from import_export import resources -from nested_admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline +from nested_admin import (NestedModelAdmin, NestedStackedInline, + NestedTabularInline) from rangefilter.filters import DateRangeFilter from shared.admin import FieldsetInlineOrder, MarkdownxGuardedModelAdmin from .forms import ContractAdminForm, ContractFileAdminForm, SigneeAdminForm -from .models import ( - Contract, - Contractee, - ContracteeSignature, - ContracteeSignatureRepresentative, - ContractFile, - ContractFilingArea, - ContractIntent, - ContractIssue, - ContractType, - Signee, - SigneeSignature, - SigneeSignatureRepresentative, -) +from .models import (Contract, Contractee, ContracteeSignature, + ContracteeSignatureRepresentative, ContractFile, + ContractFilingArea, ContractIntent, ContractIssue, + ContractType, Signee, SigneeSignature, + SigneeSignatureRepresentative) class ContractResource(resources.ModelResource): @@ -297,6 +289,9 @@ class ContractAdmin( return queryset def save_model(self, request, obj, form, change): + # Need to generate primary keys first + parent_save_response = super().save_model(request, obj, form, change) + if obj.valid_start_date is None: last_signature_date = None @@ -313,7 +308,7 @@ class ContractAdmin( obj.valid_start_date = last_signature_date - return super().save_model(request, obj, form, change) + return parent_save_response def has_change_permission(self, request, obj=None): if ( -- GitLab