1. ホーム
  2. django

[解決済み] どのようにManyToManyフィールドにデータを追加するには?

2022-11-08 14:20:20

質問

私はどこにもそれを見つけることができないので、あなたの助けは私のために良いだろう:) ここにそのフィールドがあります。

categories = models.ManyToManyField(fragmentCategory)

FragmentCategoryです。

class fragmentCategory(models.Model):

        CATEGORY_CHOICES = (
                        ('val1', 'value1'),
                        ('val2', 'value2'),
                        ('val3', 'value3'),
                        )

        name = models.CharField(max_length=20, choices=CATEGORY_CHOICES)

以下は送信フォームです。

<input type="checkbox" name="val1" />
<input type="checkbox" name="val2" />
<input type="checkbox" name="val3" />


こんな感じでやってみました。

categories = fragmentCategory.objects.get(id=1),

または

categories = [1,2]

どのように解決するのですか?

Django のドキュメントの全ページに があります。 のページがあり、コンテンツページからもよくインデックスされています。

そのページにあるように、必要なのは

my_obj.categories.add(fragmentCategory.objects.get(id=1))

または

my_obj.categories.create(name='val1')