[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Pulp-dev] Required fields for models at the DB level



Bump.
Any thoughts?

If we decide to change something, we'd better do it before GA, I think.


On Mon, Nov 18, 2019 at 10:07 PM David Davis <daviddavis redhat com> wrote:
Without diving into the django code, I'm guessing that the problem is the default value for text fields is a blank string. I bet if you set the default=None on fields that don't accept null, they would become 'required' (although I don't think this concept actually exists in django at the model level).

I think Fabricio's solution would work. However, it doesn't 'require' fields so much as prevent blank strings from being saved in the database. And I think that's what we want?

David


On Mon, Nov 18, 2019 at 3:15 PM Fabricio Aguiar <fabricio aguiar redhat com> wrote:
the best way that I found so far is this:
https://stackoverflow.com/a/56272674/5253051
image.png4


Best regards,
Fabricio Aguiar
Software Engineer, Pulp Project
+55 11 999652368


On Mon, Nov 18, 2019 at 5:09 PM Tatiana Tereshchenko <ttereshc redhat com> wrote:
I noticed that there is no enforcement at the DB level to require certain fields to be present on a model.

I haven't checked all the field types but at least for TextField it's seems to be true.
Even though `null` is False by default (`blank` as well), I can save a model instance without most of fields set.

As an example, for UpdateRecord [0] in RPM plugin, plugin writer can do UpdateRecord().save() and it will be fine, all the fields are set to empty string :/ It wouldn't be possible to save it twice but it's due to the uniqueness constraints.

In case plugin writer doesn't set properly all the required fields, bad/corrupted model instances will be silently saved in the DB and plugin can potentially have data migration issues later.

Any suggestions how to handle that? Or do I miss anything?

Tanya

_______________________________________________
Pulp-dev mailing list
Pulp-dev redhat com
https://www.redhat.com/mailman/listinfo/pulp-dev
_______________________________________________
Pulp-dev mailing list
Pulp-dev redhat com
https://www.redhat.com/mailman/listinfo/pulp-dev

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]