DjangoでGenericForeign Relationsを使って作業しているときに、間違っているか、または一意制約を処理する際に問題があるかどうかはわかりません。generictogetherをDjangoに追加する方法
オブジェクト(管理者など)を保存しようとすると、ユニークな制約エラー(500件発生)のフォームデータベースがありますが、管理者(UI)のValidationErrorではありません。以下は
私のコードスニペットは、発生した例外
class MyModel(models.Model):
name = models.CharField(max_length=60, db_index=True)
targeting = GenericRelation('Targeting')
、私はそれをされて使用して
class Targeting(models.Model):
TARGETING_CHOICES = (
('geo', "Geo targeting"),
('other', "Other targeting"),
)
targeting_type = models.CharField(max_length=64, choices=TARGETING_CHOICES, null=False)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
class Meta:
unique_together = ('content_type', 'object_id', 'targeting_type')
そして、私の他のモデル、以下のように1つの汎用関係モデルを持って、
です:
duplicate key value violates unique constraint "mymodel_targeting_targeting_type_0dff10ee_uniq" DETAIL: Key (targeting_type, content_type_id, object_id)=(geo, 18, 188) already exists.
実装方法に問題がありますか?何かがこれのように使われることを意図していないのですか?
本当にありがとうございます。ありがとう