我正在开发一个Web应用程序的API。一开始我使用了Tastypie,后来切换到Django Rest Framework (DRF)。对我来说,DRF似乎非常容易上手。我的意图是创建嵌套用户配置文件对象。我的模型如下:
from django.db import models
from django.contrib.auth.models import User
class nestedmodel(models.Model):
info = models.CharField(null=True, blank=True, max_length=100)
class UserProfile(models.Model):
add_info = models.CharField(null=True, blank=True, max_length=100)
user = models.OneToOneField(User)
nst = models.ForeignKey(nestedmodel)
我有其他具有外键关系的模型。我的序列化程序如下:
from django.contrib.auth.models import User, Group
from rest_framework import serializers
from quickstart.models import UserProfile, nestedmodel
class NestedSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = nestedmodel
fields = ('info', )
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email', 'groups')
class GroupSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Group
fields = ('url', 'name')
class UserProfileSerializer(serializers.HyperlinkedModelSerializer):
user = UserSerializer()
nst = NestedSerializer()
class Meta:
model = UserProfile
user = UserSerializer(many=True)
nested = NestedSerializer(many=True)
fields = ('nst', 'user')
我可以轻松地覆盖像create(self, validated_data):
这样的方法。但我想知道返回给create()
的响应应该发送到哪个方法中,或者换句话说,哪个方法调用了create()
。在tastypie中,Resources.py
是要覆盖以实现自定义方法的文件。而且,Resources.py包含被调用方法的顺序。在drf中,有哪个文件可以实现与tastypie的Resources.py类似的功能并说明控制流程?
create
的结果不是包含新创建对象的Response
对象吗?通常这个对象会返回给查看者。 - pingul