Opened 5 years ago

Last modified 5 years ago

#31384 closed New feature

Check if objs are clean before bulk_create, bulk_update — at Initial Version

Reported by: GardenLee Owned by: nobody
Component: Database layer (models, ORM) Version: 3.0
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

We have to check validation of objects set that you want to insert when trying bulk_create

I suggest Users can do any tasks (ex. model fields validation) through the parameters like clean_check=True when they use bulk_create and bulk_update method

I suggest that through the parameters bulk_create, bulk_update method, and clean_check, when the user wants, the clean function on the object set can be executed so that the user can perform the desired operation
By implementing this way, users can insert objects only passed by clean() method that return boolean type

    def bulk_create(self, objs, clean_check=None, batch_size=None, ignore_conflicts=False):
        ~~~
        if clean_check:
            objs = [obj for obj in objs if obj.clean()]
        ~~~

By implementing this way, validation errors in clean can prevent the insertion of object sets containing invalid objects.

    def bulk_create(self, objs, clean_check=None, batch_size=None, ignore_conflicts=False):
        ~~~
        for obj in objs:
            obj.clean()
        ~~~

Change History (0)

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