【发布时间】:2020-02-26 21:15:25
【问题描述】:
我有一个简单的序列化器:
class OrderSerializer(serializers.ModelSerializer):
class Meta:
model = Order
fields = [field.name for field in model._meta.fields]
# depth = 1
extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}}
这两种方式都适用 - 我可以列出 Orders 并创建一个 Order。
如您所见,created_by 设置为默认用户,无需指定 depth 即可使用。当我在创建对象时指定depth,DRF 返回错误:
“created_by_id”列中的空值违反非空约束
我知道这是因为现在 created_by 被序列化为 user 但不知道如何在创建对象时使其工作。
【问题讨论】:
标签: python django rest django-rest-framework