DjangoモデルItem
とAbstarctUser itemOwner
があります。 itemOwner
を作成する際には、対応するitem
を作成する必要があります。以下に示すようにItem
とItemOwner
のビューとモデルは、以下のとおりです。Django:ユーザー作成時にモデルを作成する
class ItemOwner(AbstractUser):
owner_name = models.CharField(max_length=64, null=True, blank=True)
item = models.ForeignKey(Item, related_name='owner',null=True)
class ItemOwnerViewSet(viewsets.ModelViewSet):
queryset = ItemOwner.objects.all()
serializer_class = ItemOwnerSerializer
class Item(models.Model):
name = models.CharField(max_length=64, verbose_name='name')
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
Item
ItemOwner
を作成するための引数として渡された値を使用して作成する必要があります。私はモデルがmodelname.save("parameters")
で作成できることを知っています。しかし、ここではパラメータはリクエストからアクセスされ、私はViewSetを使ってリクエストインスタンスをどこから取るべきかわからない。私が正確に探しているのは、ItemOwner
が作成されたときにのみ呼び出されるメソッドです。このメソッドはrequest
インスタンスを持ち、引数を取得してItem
モデルを作成できます。どうすればいいですか?
'ItemOwnerViewSet'クエリセット内のそのタイプミスですか? ItemOwnerを作成した後にリクエストにアクセスしたいのはなぜですか? Itemには '' name''というフィールドが1つしかなく、私が間違っていれば正しいものになります。owner_nameはItem.nameと同じですか?だから、ItemOwnerのpost_signalを作成し、 'Item'を作成できますか? –
owner_nameは項目名ではありません。どちらも違います。私はdjangoを初めて使っており、post_signalとすべての仕組みが正確にわからない。 plzは私にコード –
のタイプミスをクリアしました。 –