0
我正在嘗試創建用戶,其中用戶模型有兩個用戶配置文件,例如,師生。在創建用戶時,我還想在Teacher或Student配置文件中創建User實例。Django使用兩個用戶配置文件模型註冊api
這裏是我的串行類:
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
fields = ('id', 'user_id')
class TeacherSerializer(serializers.ModelSerializer):
class Meta:
model = Teacher
fields = ('id', 'user_id')
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (
'id',
'username',
'password',
'email',
'user_type'
)
extra_kwargs = {
'password': {'write_only': True},
}
def create(self, validated_data):
user = User.objects.create_user(**validated_data)
return user
這裏的風俗寄存器觀點:
class CreateUserView(CreateAPIView):
model = User
permission_classes = [
permissions.AllowAny # Or anon users can't register
]
serializer_class = UserSerializer
現在,我可以創建用戶和而創建的用戶配置文件根據user_type
參數是對我來說是挑戰。
所以,如果user_type
是學生,我需要創建用戶實例爲StudentProfile以及(在學生檔案表中的新行)
我忘了添加,我在學生模型中有'create_student_profile'方法,我試圖調用這個方法來創建學生實例。 – user8169843
上面的代碼工作得很好,但我仍然不確定爲什麼我不能使用'create_student_profile' – user8169843
請告訴你在問題代碼中的方法 –