- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
到目前为止我有 ->
序列化器:
class UserSerializer(serializers.ModelSerializer):
"""Serializer to map the model instance into json format."""
class Meta:
"""Map this serializer to a model and their fields."""
model = User
fields = ('id','username', 'mobile', 'password',
'first_name','last_name','middle_name',
'profile_pic','short_bio','friends_privacy',
'address_1','address_2','city',
'state','country','pin','verification_code',
'is_active','is_blocked','is_reported',
'date_created','date_modified')
extra_kwargs = {'password': {'write_only': True}}
read_only_fields = (
'date_created', 'date_modified',
'is_staff', 'is_superuser', 'is_active',
'date_joined',)
def create(self, validated_data):
mobile_ = validated_data['mobile']
password_ = validated_data['password']
username_ = validated_data['username']
motp = self.context['request'].GET['motp']
eotp = self.context['request'].GET['eotp']
email_ = self.context['request'].GET['email']
mflag = api.views.checkOTP_(mobile_,motp)
eflag = api.views.checkOTP_(email_,eotp)
if (mflag and eflag):
user = User(
username=username_,
email =email_,
password = make_password(password_),
mobile = mobile_,
)
user.set_password(validated_data['password'])
user.save()
return user
class UserView2(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
model = User
def get_permissions(self):
# allow non-authenticated user to create via POST
return (AllowAny() if self.request.method == 'POST'
else IsStaffOrTargetUser()),
already exists!
.
def create
中添加检查 otp 验证的功能
of UserSerializer
.但是序列化程序应该返回模型实例。但是,如果您看到代码,则只有当 OTP 正确且返回用户实例时,我才能创建用户。而且没有
else
.
最佳答案
我不同意@Anjaneyulu 那里..
序列化程序也处理对象的创建.. 因此你有 serializer.save()
.
但是为了为具有相同 OTP 电子邮件/电话的现有用户引发异常,您应该编写自己的 def validate_mobile(self, data)
和 def validate_email(self, data)
. DRF 序列化程序将首先在类中查找这些方法,并在它们存在时运行它们。因此,您用于检查这些字段的自定义逻辑可能是:
class UserSerializer(serializers.ModelSerializer):
def validate_mobile(self, value):
ModelClass = self.Meta.model
if ModelClass.objects.filter(mobile=value).exists():
raise serializers.ValidationError('already exists')
return value
def validate_email_(self, value):
ModelClass = self.Meta.model
if ModelClass.objects.filter(email_=value).exists():
raise serializers.ValidationError('already exists')
return value
class Meta:
model = User
fields = (
...,
)
关于django - 在创建新用户之前检查用户是否存在 djangorestframework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47105250/
到目前为止我有 -> 序列化器: class UserSerializer(serializers.ModelSerializer): """Serializer to map the mod
更新:django-rest-framework 3.7中将此行为识别为错误并已解决。现在,序列化程序将根据服务器的时区一致地显示时间:https://github.com/tomchristie/d
使用 DRF+Ajax+bootstrap 构建一个不需要应用程序的网站是否值得,还是坚持使用普通的 django 模板语言甚至不需要 Ajax 更好?我想避免使用 Angular ,因为我不希望事情
我正在开发一个 API(使用 DjangoRestFramework),我希望用户能够加载其项目列表,但我只想从数据库加载几列(比如说 ID、标题、类别、假设他们访问的 URL 是 api/items
我在 Django Rest Framework 2 中有这些嵌套的序列化程序: class BookingSerializer(Serializer): reservation_histor
这是我的模型: class Post(models.Model): user = models.ForeignKey(User) post = models.CharField(max
我的模型是这样的: class Post(models.Model): user = models.ForeignKey(User) post = models.CharField(m
我想在 django 应用程序中使用 DjangoRestframework 但调用它时出现错误? 打电话时,我给我回复: Exception Type: AssertionError Excepti
基本上,我想从 ModelSerializer 的相关字段中过滤掉不事件的用户。我试过 Dynamically limiting queryset of related field以及以下内容: cl
我正在尝试使用 django rest_framework_jwt。我可以让它生成一个 token ,但是当我尝试将其在 header 中发送到 protected View 时,我得到“未提供身份验
我的包裹: djangorestframework==3.2.5 django-filter==0.11.0 djangorestframework-filters==0.5.0 我正在使用 djan
我正在使用默认的 User 模型,并且还使用 UserExtended 模型对其进行了扩展: class Country(models.Model): countryName = models
我正在尝试序列化多个查询集,但我注意到只有其中一个查询集被序列化。这是我目前正在尝试的方法。 class GetDetails(APIView): def get(self, reques
我发现有一个 PostgreSQL 的模型框架: from sqlalchemy import Column, Integer, String from sqlalchemy.orm import c
我这几天一直在看这个,我要拔掉我的头发,所以任何帮助都将不胜感激。 我有一个名为 package 的简单模型,它有一个 userFrom 和 userTo class Package(models.M
我拥有对 SQL 旧版数据库的读取访问权限。假设在数据库中我有两个表:Treatment 和 TreatmentType。在治疗表中,我有病人ID (int)、日期(文本)、治疗类型(int)。在Tr
我正在尝试在 Apache 中运行 Django 项目 (Mayan EDMS)。来自 Ubuntu 12.10、Apache 2.2.22、Python 2.7.3 和 Django(1、4、3、'
我今天遇到了一个非常奇怪的问题。 这是我的序列化器类。 class Connectivity(serializers.Serializer): device_type = serialize
本文为 djangorestframework-simplejwt 使用记录。(官方文档) 1. 安装 pip install djangorestframework
我正在 Django 中开发一个讨论应用程序,它包含主题、帖子、回复和投票。投票使用 Generic Foreign Keys and Content Types以确保用户只能对特定主题/帖子/回复投
我是一名优秀的程序员,十分优秀!