Opened 10 years ago

Closed 10 years ago

#14347 closed (wontfix)

Add required_if field to model fields

Reported by: hejsan Owned by: nobody
Component: Database layer (models, ORM) Version:
Severity: Keywords:
Cc: hr.bjarni+django@… Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


I propose to add a required_if field to model fields (and form fields also i guess?)
It should take a callable that returns either True or False.

Another option would be to allow the required field to accept a callable.

Very often we have a "Published" field on our models (or "Published date" or "Published status" etc..) It would be very nice to be able to allow people to save instances without all the required fields being filled in IF the article or whathaveyou is not published yet.

Currently to do this you have to make all the fields not required and then override the save method. This would be a very handy feature for a very common problem.

Caveat: This means that the field should not be declared as "NOT NULL" in the database, but I don't really see that as a problem if validation is performed by django anyway.

Change History (4)

comment:1 Changed 10 years ago by hejsan

Update: I wrote to impulsively, this should have nothing to do with the model field, as the model field only specifies null and blank, this should be a property of the form field.

The title of this ticket should be "Add required_if field to form fields". Sorry about that.

comment:2 Changed 10 years ago by David Novakovic

FWIW this sounds like it's related to this discussion too

Basically dealing with validation over multiple fields. I know yours is a param to the field and Yo Yo was talking about something like Meta, but yeah, they are conceptually related :P

Seems like the jury was out on this..

comment:3 Changed 10 years ago by Daniel F Moisset

Component: UncategorizedDatabase layer (models, ORM)

comment:4 Changed 10 years ago by Russell Keith-Magee

Resolution: wontfix
Status: newclosed

This is possible to implement using model (or form) validation. I don't see any reason to provide a shortcut syntax for one very specific use case of validation.

Note: See TracTickets for help on using tickets.
Back to Top