小编Mic*_*ski的帖子

Django Rest Framework - 嵌套的Serializer是否是延迟加载的?

我很可爱使用Django Rest Framework并且有很多乐趣.但有一件事让我感到不安.我有一个模型,在这个模型中有很多洋键.即:

class Order(models.Model):
    bought_by = models.ForeignKey(User, related_name='bought_orders')
    bought_on = models.DateTimeField(default=datetime.datetime.now, blank=True)
    category = models.ForeignKey(OrderCategory, related_name='orders')
    article = models.ForeignKey(Article, related_name='orders')
    supplier = models.ForeignKey(Supplier, related_name='orders')
    purpose = models.CharField(null=True, blank=True, max_length=255)
    payment_method = models.ForeignKey(PaymentMethod, related_name='orders')
    order_number = models.CharField(max_length=255)
    delivery_received_on = models.DateTimeField(null=True, blank=True)
    delivery_received_by = models.ForeignKey(User, null=True, blank=True, related_name='received_orders')
    tags = TaggableManager(blank=True)
Run Code Online (Sandbox Code Playgroud)

所以我使用好的ModelSerializer和我使用嵌套序列化器的方式,即:

class ReadOrderSerializer(ModelSerializer):
    created = DateTimeField()
    updated = DateTimeField()
    bought_by = UserSerializer()
    category = OrderCategorySerializer()
    article = ArticleSerializer()
    supplier = SupplierSerializer()
    payment_method = PaymentMethodSerializer()
    tags = TagListSerializerField()
    invoice_documents = InvoiceDocumentSerializer(many=True) …
Run Code Online (Sandbox Code Playgroud)

python django serialization django-rest-framework

2
推荐指数
1
解决办法
1357
查看次数