Django RF.如何获得一个带有嵌套关系的Django模型



在Django Rest框架应用程序中测试我的功能时,我需要获得一个对象,我们称之为Foo,这个对象有一些嵌套关系。我可以通过向APIClient发出请求来获得它,如下所示:

class FooTest(TestCase):
def setUp(self):
self.client = APIClient()
def test_foo_feature(self):
foo_id = generator.generateFoo().id
foo = self.client.get(reverse('foo-detail', args=[foo_id])).data

我想知道我是否可以以某种方式直接调用我的FooSerializer来获得我的Foo对象与嵌套关系,而不是在APIClient的帮助下通过视图,因为简单地调用Foo.objects.get(id=foo_id)不会返回嵌套关系。

可以像这样将实例直接传递给序列化器(在DRF文档中指定):

from some_app.serializers import FooSerializer
class FooTest(TestCase):
def setUp(self):
self.client = APIClient()
def test_foo_feature(self):
foo_id = generator.generateFoo().id
foo = Foo.objects.get(id=foo_id)
serialized_data = FooSerializer(foo).data

最新更新