0
タグモデルとしてdjango-taggitを使用しようとしています。 、私はエラーがdjango-taggitは、フォームからタグ文字列を取得します。
製品を言う
model.py
class Product(models.Model): product_no = models.IntegerField(primary_key=True) ... tags = TaggableManager(blank=True)
views.py
def action(request): product = Product() user = User.objects.get(id=request.user.id) product.seller_username = user ... product.save() tag_list = taggit.utils._parse_tags(request.POST['tags']) product.tags.add(*tag_list)
私は、メソッドproduct.tags.add(呼び出し)取得しています タグにアクセスするには、オブジェクトにプライマリキー値が必要です
多くの解決策は、product.tags.add()の前にproduct.save()を配置して、多対多フィールドにアクセスする前にpkを利用できるようにすることを通知します。 私はそれを試しても、まだエラーがあります。
注:save()メソッドは正常に動作します。製品リストに新しいオブジェクトが作成され、管理インターフェースで表示されます。
保存する前に 'product.product_no'の値を設定していますか? – solarissmoke
私はそれを設定しませんが、pkフィールドなので、save()メソッドで自動的に設定する必要があります。 –