私のアプリのウォーキングの顧客にrendez-vousを質問できるようにします 新しいユーザー名を投稿するときにいつでも自動的に新しいユーザーを作成しますランデブーデータおよびデフォルトのパスワードここDjangoはポストからオブジェクトを作成するときに新しいユーザーを作成します
私view.pyここ
class rvList(generics.ListCreateAPIView):
queryset = Rendezvous.objects.all()
serializer_class = RvSerializer
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
あなたがSOLV私を助けることができますしてください私のシリアライザ
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['username', 'email', 'first_name', 'last_name']
class RvSerializer(serializers.ModelSerializer):
owner = UserSerializer()
class Meta:
model = Rendezvous
fields = ('id','daterv', 'heurerv', 'lieurv','owner')
ですE Iが欲しいという問題がランデブーモデルにUserモデルへのポストから一部のデータと残りの部分を挿入するために
私はこの
{
"id": 11,
"daterv": "2013-02-01",
"heurerv": "10:30",
"lieurv": "Thies",
"owner": {
"username": "admin",
"email": "",
"first_name": "",
"last_name": ""
}
},
{
"id": 12,
"daterv": "2013-02-01",
"heurerv": "08:30",
"lieurv": "Dakar",
"owner": null
},
のみログインしているユーザーは、関連するRVない私が持っている新しいユーザーに設定されている取得しています私の形式で送った。ありがとうございます。
でそれらにアクセスできるはずです。あなたの答えは私の問題を解決しました。 –
Tkxあなたは私の一日を作った!!この問題に直面する他の人のために、ネストされたフィールドを指定するのを忘れないでください。@Matus help username = self.request.data.get( 'owner'、dict())を使ってPostからデータを取得しました。get( ' username ')とserializer.save(owner = user) –