【发布时间】:2020-09-12 09:12:14
【问题描述】:
我正在尝试使用 Django REST 框架完成以下任务。 我有模型记录,它有字段。它具有用户的外键。每个用户可以创建多个不同编号的记录,但不能为自己创建多个相同编号的记录。但是,每个其他用户都可以为自己创建具有相同编号的记录。 例如。用户乔和吉尔。 Joe 只能创建一次编号为 123 的记录,如果他尝试使用 123 再创建一个记录,则不应允许他。然而,吉尔可以为自己创造一次 123,但不能再创造更多。
我的猜测是在序列化器中创建一个验证器,也就是
class RecordSerializer(serializers.HyperlinkedModelSerializer):
'''Serializer for Record'''
class Meta:
model = Record
fields = [
'user',
'number',
'otherfield',
]
validators = [
UniqueValidator(
queryset= Record.objects.filter(user=<current user>),
)
]
但是,我无法在验证器属性中获取当前用户,否则我该如何完成此操作?
【问题讨论】:
标签: django django-rest-framework