そのため、現在、既存のデータベースの上に新しいタグ付けシステムを実装しています。
現在のタグ付けシステムは ManyToMany フィールドを利用していますが、クライアントはカンマ区切りの入力フィールド (CharField) を希望しています。
したがって、現在のアーキテクチャを危険にさらすことなく、新しいコンマ区切りフィールドを有効にすることで、タグを以前の ManyToMany アーキテクチャとして書き留めるのが最善の方法であると考えました。
しかし、私はそれをやろうとしましたが、タグはデータベースタグモデルに保存されますが、適用すべきエントリには保存されません。
簡単な要約:
def save(self, *args, **kwargs):
currTags = self.placeHolderTags.split(",")
for tag in currTags:
dbtag, created = Tag.objects.get_or_create(name=tag)
self.tags.add(dbtag)
super(BeeldBankEntry, self).save(*args, **kwargs)
さらなるモデルの背景:
tags = models.ManyToManyField(Tag, verbose_name='Tags', blank=True)
placeHolderTags = models.CharField(max_length=400, verbose_name='Tags2', blank=True)