[Answered ]-Djanjo Unique Constraint – Upload BUT Skip Duplicates

1👍

You can work with .bulk_create(…) [Django-doc] and set the ignore_conflicts=True parameter. As the documentation says:

On databases that support it (all but Oracle), setting the ignore_conflicts parameter to True tells the database to ignore failure to insert any rows that fail constraints such as duplicate unique values. Enabling this parameter disables setting the primary key on each model instance (if the database normally supports it).

You thus make a list of your model objects (but you do not save these yet), and then you use .bulk_create(list_of_objects, ignore_conflicts=True). This thus looks like:

m1 = MyModel(field1=value11, field2=value12)
m2 = MyModel(field1=value21, field2=value22)
m3 = MyModel(field1=value31, field2=value32)
MyModel.objects.bulk_create(
    [m1, m2, m3],
    ignore_conflicts=True
)

Leave a comment