@@ -230,14 +230,14 @@ class Status(models.IntegerChoices):
230
230
settings .AUTH_USER_MODEL ,
231
231
verbose_name = _ ("created by" ),
232
232
on_delete = models .SET_NULL ,
233
- null = True ,
233
+ null = True , blank = True ,
234
234
related_name = "created_by_dref" ,
235
235
)
236
236
modified_by = models .ForeignKey (
237
237
settings .AUTH_USER_MODEL ,
238
238
verbose_name = _ ("modified by" ),
239
239
on_delete = models .SET_NULL ,
240
- null = True ,
240
+ null = True , blank = True ,
241
241
related_name = "modified_by_dref" ,
242
242
)
243
243
users = models .ManyToManyField (settings .AUTH_USER_MODEL , verbose_name = _ ("users" ), blank = True , related_name = "user_dref" )
@@ -582,6 +582,7 @@ class Meta:
582
582
verbose_name_plural = _ ("drefs" )
583
583
584
584
def save (self , * args , ** kwargs ):
585
+ self .full_clean () # required for choice field validation
585
586
if self .budget_file and self .budget_file_id != self .__budget_file_id :
586
587
pages = convert_from_bytes (self .budget_file .file .read ())
587
588
if len (pages ) > 0 :
@@ -666,14 +667,14 @@ class DrefOperationalUpdate(models.Model):
666
667
settings .AUTH_USER_MODEL ,
667
668
verbose_name = _ ("created by" ),
668
669
on_delete = models .SET_NULL ,
669
- null = True ,
670
+ null = True , blank = True ,
670
671
related_name = "created_by_dref_operational_update" ,
671
672
)
672
673
modified_by = models .ForeignKey (
673
674
settings .AUTH_USER_MODEL ,
674
675
verbose_name = _ ("modified by" ),
675
676
on_delete = models .SET_NULL ,
676
- null = True ,
677
+ null = True , blank = True ,
677
678
related_name = "modified_by_dref_operational_update" ,
678
679
)
679
680
dref = models .ForeignKey (Dref , verbose_name = _ ("Dref" ), on_delete = models .CASCADE )
@@ -994,6 +995,7 @@ class Meta:
994
995
995
996
def save (self , * args , ** kwargs ):
996
997
# self.status = Dref.Status.COMPLETED if self.is_published else Dref.Status.IN_PROGRESS
998
+ self .full_clean () # required for choice field validation
997
999
super ().save (* args , ** kwargs )
998
1000
999
1001
@staticmethod
@@ -1024,14 +1026,14 @@ class DrefFinalReport(models.Model):
1024
1026
settings .AUTH_USER_MODEL ,
1025
1027
verbose_name = _ ("created by" ),
1026
1028
on_delete = models .SET_NULL ,
1027
- null = True ,
1029
+ null = True , blank = True ,
1028
1030
related_name = "created_by_dref_final_report" ,
1029
1031
)
1030
1032
modified_by = models .ForeignKey (
1031
1033
settings .AUTH_USER_MODEL ,
1032
1034
verbose_name = _ ("modified by" ),
1033
1035
on_delete = models .SET_NULL ,
1034
- null = True ,
1036
+ null = True , blank = True ,
1035
1037
related_name = "modified_by_dref_final_report" ,
1036
1038
)
1037
1039
dref = models .OneToOneField (Dref , verbose_name = _ ("Dref" ), on_delete = models .CASCADE )
@@ -1286,6 +1288,7 @@ class Meta:
1286
1288
verbose_name_plural = _ ("Dref Final Reports" )
1287
1289
1288
1290
def save (self , * args , ** kwargs ):
1291
+ self .full_clean () # required for choice field validation
1289
1292
if self .financial_report_id and self .financial_report_id != self .__financial_report_id :
1290
1293
pages = convert_from_bytes (self .financial_report .file .read ())
1291
1294
if len (pages ) > 0 :
0 commit comments