Tôi có một vật cố định seed_data.json
mà tôi có dữ liệu ban đầu của mình.Django: loaddata để cập nhật dữ liệu
Thỉnh thoảng tôi thêm dữ liệu mới vào các đồ đạc này và tải lại nó, cập nhật dữ liệu của tôi một cách chính xác.
Tuy nhiên, bây giờ tôi muốn xóa một số dữ liệu khỏi nó. Vì vậy, tôi sửa đổi seed_data.json
của tôi, ví dụ, tôi đã có một cái gì đó như thế:
{"fields": {"name": "Field 0"},"model": "catalog.product","pk": 1},
{"fields": {"name": "Field 1"},"model": "catalog.product","pk": 2},
{"fields": {"name": "Field 2"},"model": "catalog.product","pk": 3},
# ...
Đó trở thành:
{"fields": {"name": "Field 1"},"model": "catalog.product","pk": 1},
{"fields": {"name": "Field 2"},"model": "catalog.product","pk": 2},
# ...
Nhưng tôi nhận được:
django.db.utils.IntegrityError: Problem installing fixture .....\seed_data.json
Could not load catalog.Product(pk=2): column name is not unique
Vì vậy, không có vấn đề khi thêm một số dữ liệu, nhưng khi cố gắng loại bỏ một số, có xung đột với các khóa chính.
Làm cách nào để đạt được những gì tôi đang cố gắng làm?
SO, để thực sự thay đổi dữ liệu ban đầu của ứng dụng, tôi cần xóa cơ sở dữ liệu của mình? – Ellone
Có tất nhiên. Đó là lý do tại sao nó được gọi là "ban đầu". –
Vâng, nhưng, đôi khi nếu chúng tôi cập nhật một ứng dụng, có một số thay đổi đối với dữ liệu ban đầu. Và xóa cơ sở dữ liệu cũng sẽ xóa dữ liệu không phải ban đầu. Chắc chắn tôi có thể sử dụng giao diện quản trị, Nhưng tôi muốn giữ sạch khóa chính trên hồ sơ – Ellone