django auth 테이블의 User 모델을 확장하고 나머지 API를 구현했습니다.Django Rest 프레임 워크에서 중첩 시리얼 라이저를 구현하는 방법은 무엇입니까?
동일한 방법으로 GET/POST 요청을 구현하는 방법이 없습니다.
내 models.py 코드는 다음과 같습니다
class UserProfile(models.Model):
"""User profile model for information about user."""
users = models.OneToOneField(User)
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format: '+999999999'")
phone_number = models.CharField(max_length=100, validators=[phone_regex], blank=True)
created_timestamp = models.DateTimeField(auto_now_add=True, null=True)
updated_timestamp = models.DateTimeField(auto_now=True, null=True)
내 serializers.py 코드는 다음과 같습니다
class UserSerializer(serializers.ModelSerializer):
"""Serializer for users."""
class Meta:
model = User
class UserProfileSerializer(serializers.ModelSerializer):
"""Serializer for user profiles."""
users = UserSerializer(many=True)
class Meta:
model = UserProfile
def create(self, validated_data):
users_data = validated_data.pop('users')
print 'yes'
print users_data
user_profile = UserProfile.objects.create(**validated_data)
for user_data in users_data:
user_data, created = User.objects.get_or_create(first_name=user_data['first_name'], last_name=user_data['last_name'],
username=user_data['username'], password=user_data['password'], email=user_data['email'], is_active=['is_active'])
user_profile.users.add(user_data)
return user_profile
내 v1.py 코드는 다음과 같습니다
이class UserProfileList(APIView):
"""Get and post user profiles data."""
def get(self, request, format=None):
"""Get users."""
user_profiles = UserProfile.objects.all()
serialized_user_profiles = UserProfileSerializer(user_profiles, many=True)
return Response(serialized_user_profiles.data)
def post(self, request, format=None):
"""Post users."""
serializer = UserSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
내가 문제를 생각 v1.py 파일에 있습니다. GET 및 POST 요청을 만들고 싶습니다. POST 요청에 JSON 데이터를 보내려고합니다. 누군가가 구현에서 나를 도울 수 있습니까? 사실, POST 요청을하고 사용자 모델과 UserProfile 모델 모두에 데이터를 저장하기위한 단일 종단점이 필요합니다.
'URL (R '^ V1/사용자/$ ', csrf_exempt (userregistration.v1.MyUserViewSet.as_view ({'get ':'queryset '}))),'urls.py 파일에서'QuerySet '객체를 호출 할 수 없습니다. – Ankit
get 매개 변수에'queryset'을 매핑하면 mapp { "get": "list"}가 필요합니다. 이 링크를 따라 http://www.django-rest-framework.org/api-guide/routers/#example –
시도했지만 오류가 발생했습니다 'MyUserViewSet'객체에 'list'속성이 없습니다 – Ankit