次のDjangoモデルがあります:
class Icon(models.Model):
name = models.CharField(max_length=200,null=False,blank=False)
class Post(models.Model):
icons = models.ManyToManyField(Icon)
次のコードを書くと:
post = Post()
icons = []
icon_id = form.cleaned_data['icon_1']
if (icon_id):
i = Icon.objects.get(id=icon_id)
icons.append(i)
icon_id = form.cleaned_data['icon_2']
if (icon_id):
i = Icon.objects.get(id=icon_id)
icons.append(i)
post.icons = icons
post.save()
Post オブジェクトと 2 つの Icon オブジェクトを作成すると、ほとんどの場合問題なく動作します。
ただし、icon_id がどちらの場合も 1 の場合、データベースには 2 つではなく 1 つのエントリしか作成されません。
したがって、重複をチェックして削除するようです。
重複を許可するようにこれを機能させるにはどうすればよいですか? (投稿に関連付けられた同じアイコンが 2 つ必要です。)
ありがとう!