ale*_*eks 5 django django-rest-framework
我需要具有查找字段,以便前端发送应删除的电子邮件,但找不到项目。我对此问题进行了很多研究,但无法确定支持哪个DRF版本。
class EmailReminderSerializer(serializers.ModelSerializer):
city = serializers.CharField(max_length=255)
url = serializers.HyperlinkedIdentityField(
view_name='web:email_reminder-detail',
)
class Meta:
model = EmailReminder
fields = '__all__'
extra_kwargs = {
'url': {'lookup_field': 'email'}
}
Run Code Online (Sandbox Code Playgroud)
现在我有了url,但是它指向实例pk,而不是通过我想要的查找字段。关于它在3.4版本中如何工作的任何建议,或者您对低于=> 3.0的较低版本还有其他解决方案吗?
噢,我明白了。对于序列化模型,您只需要在视图中使用lookup_field,而对于超链接序列化模型,则需要序列化器中的extra_kwargs以及视图中的lookup字段。希望对别人有帮助
您应该改为修改视图中的查找字段。如DRF 文档所示,您可以执行以下操作。
在 views.py
from rest_framework import viewsets
class EmailReminderViewSet(viewsets.ModelViewSet):
serializer_class = TagSerializer
lookup_field = 'email'
Run Code Online (Sandbox Code Playgroud)