>我正在尝试设置外键字段是可选的。
我已经将"null=True,blank=True"添加到 models.py 文件的"组"字段中,但它也是必需的。
这是我 models.py 代码:
class Record(Timestampable):
uuid = CharField(max_length=256, primary_key=True, editable=False)
code = CharField(max_length=32, blank=True)
name = CharField(max_length=256, blank=True)
group = ForeignKey('self', null=True, blank=True, related_name='members')
这是我 serializers.py 代码:
class RecordSerializer(ModelSerializer):
class Meta:
model = Record
fields = ('uuid', 'code', 'name', 'group')
默认情况下,即使在 DRF 中的请求中该值为 null,您仍然需要提供该字段。
但是,您可以将字段指定为非必填字段:
class RecordSerializer(ModelSerializer):
group = serializers.CharField(required=False)
class Meta:
model = Record
fields = ('uuid', 'code', 'name', 'group')
相关文档可在此处获得: Django Rest Framework - 序列化程序字段