我正在为 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):
没有任何问题。但我想知道的是to which method should the response returned by create() goes
,或者换句话说Which method calls create()
。在美味馅饼中Resources.py
是要重写以实现自定义方法的文件。 Resources.py 包含调用方法的顺序。 drf 中的哪个文件具有相同的目的,并说明了像 tastypie 中的 Resources.py 一样的控制流程?