eventyay-video icon indicating copy to clipboard operation
eventyay-video copied to clipboard

Should we enable Django Admin?

Open hongquan opened this issue 8 months ago • 0 comments

One of Django best-selling point is its builtin Admin site feature. But don't know why venueless doesn't use it and instead implement its own "Control" area (/control/), which is not feature-complete and has weird UX:

image

  • The validation error message doesn't point out which field failed.
  • The Id field in the screenshot saves to primary key. If it is primary key, it should not be exposed to user to give value. Its value should be automatically generated.
  • The timezone field should be a dropdown, because not every one can remember and type correctly.
  • Each field should have help text to explain what the field is for and how the value should be.

I think we should enable Django Admin for data management. An alternative page like "Control" should be for some kind of "middle-level" users (has management right but not superuser) like organization member (in case eventyay-video serves like a SaaS).

Another idea, putting here in case I forget later: Currently, for User model, eventyay-video is using Django's builtin model (django.contrib.auth.models.User), but from my experience and also from Django advice, we should define a custom User model, even if it is just a copy of Django one. It is because, day by day, we will have new needs for User model that the Django built-in one no longer meets, but changing then is too late. Switching User model for running services is very difficult. If we use a custom User model from the beginning, it is easy to modify it to adapt to new needs.

hongquan avatar Jun 18 '24 05:06 hongquan