データベース内の一意性を確保しながら、大量のレコードをすばやく一括挿入できる必要があります。挿入される新しいレコードは既に解析されており、一意です。コード自体ではなく、データベース レベルで一意性を強制する方法があることを願っています。
データベースのバックエンドとして MySQL を使用しています。django が他のデータベースでこの機能をサポートしている場合、これは要件であるため、バックエンドを柔軟に変更できます。
Django での一括挿入はこのメソッドを使用しないため、save
一意のフィールドと一意の一緒のフィールドを尊重しながら、一度に数百から数千のレコードを挿入するにはどうすればよいですか?
単純化した私のモデル構造は、次のようになります。
class Example(models.Model):
Meta:
unique_together = (('name', 'number'),)
name = models.CharField(max_length = 50)
number = models.CharField(max_length = 10)
...
fk = models.ForeignKey(OtherModel)
編集:
データベースにまだ存在しないレコードを挿入する必要があり、既に存在するレコードは無視する必要があります。