Django loaddata ignore existing objects Django loaddata ignore existing objects django django

Django loaddata ignore existing objects


If you keep pk in the json like that, you will always overwrite the first two records in product.productprice.

I would use "pk: null".This way, you will always create new record with every load.

So if you want to create a new price:

[  {    "fields": {      "currency": 1,      "price": "99.99",      "product_variant": 1    },    "model": "products.productprice",    "pk": 1  },  {    "fields": {      "currency": 2,      "price": "139.99",      "product_variant": 1    },    "model": "products.productprice",    "pk": 2  },  {    "fields": {      "currency": 4,      "price": "9.99",      "product_variant": 1    },    "model": "products.productprice",    "pk": null  }]

The first two records are always be the same, but if you already added a third one ( pk:3 ) with the last section you will create a new productprice with pk: 4.

BTW: if your currency field is an other primary key(with autoincrement), you can put "null" there too, a new primary key will be generated.