I only tested with DateTimeRangeField but I imagine it's the same for the
others.
----
Using `period = DateTimeRangeField()`:
Trying to add an item without lower and upper bounds results in an error
that the field is required.
Adding an item with a lower bound but no upper bound, or vice versa does
work.
----
Using `period = DateTimeRangeField(blank=True, null=True)`:
Adding an item without any bound gives a null for the column, which is not
always what I want.
----
Using `period = DateTimeRangeField(blank=True)`:
Tries to do as above but fails on the null constraint.
----
I imagine this needs a bit of UX thought as it should be possible to do
either: set the column to null or set the column to a range with null as
both bounds.
--
Ticket URL: <https://code.djangoproject.com/ticket/33642>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => needsinfo
Comment:
> Using `period = DateTimeRangeField()`:
>
> Trying to add an item without lower and upper bounds results in an error
that the field is required.
>
> Adding an item with a lower bound but no upper bound, or vice versa does
work.
As far as I'm aware, it's an expected behavior.
> Using `period = DateTimeRangeField(blank=True, null=True)`:
>
> Adding an item without any bound gives a null for the column, which is
not always what I want.
What would you expect instead of `NULL`? 🤔
> Using `period = DateTimeRangeField(blank=True)`:
>
> Tries to do as above but fails on the null constraint.
This is also en expected and
[https://docs.djangoproject.com/en/4.0/ref/models/fields/#blank
documented] behavior, see also #6189.
> I imagine this needs a bit of UX thought as it should be possible to do
either: set the column to null or set the column to a range with null as
both bounds.
Do you have any non-misleading UX proposition? This seems tricky. There is
also some overlap with #29656. Maybe we should continue the discussion
there.
--
Ticket URL: <https://code.djangoproject.com/ticket/33642#comment:1>