Django RF,序列化程序验证字段中的日期比较错误
我已经实现了以下序列化程序验证,以检查用户输入的日期(yyyy-mm-dd)是否在本周内或至少在今天之前 但是我在“今天”收到一个错误Django RF,序列化程序验证字段中的日期比较错误,django,django-rest-framework,Django,Django Rest Framework,我已经实现了以下序列化程序验证,以检查用户输入的日期(yyyy-mm-dd)是否在本周内或至少在今天之前 但是我在“今天”收到一个错误 class TableCreateUpdateserializer(serializers.ModelSerializer): tablerequireDate = serializers.DateField() today = datetime.datetime.today() class Meta: model =
class TableCreateUpdateserializer(serializers.ModelSerializer):
tablerequireDate = serializers.DateField()
today = datetime.datetime.today()
class Meta:
model = Tables
fields = ['tablerequireDate', 'tablerequiretime']
def validate(self, data):
if data['tablerequireDate'] >= data['today']:
raise serializers.ValidationError(
"Date must be today or within 7 days")
return data
对于键错误: 您的数据不包含已存档的数据。你们班有。所以,今天就使用
self.today
对于类型错误:
今天字段的类型为
datetime.datetime
,您正在数据中传递datetime.date
。两者应该是相同的。使用datetime.date.today()
查找关键错误:
您的数据不包含已存档的数据。你们班有。所以,今天就使用self.today
对于类型错误:
今天字段的类型为
datetime.datetime
,您正在数据中传递datetime.date
。两者应该是相同的。使用datetime.date.today()
def validate(self, data):
if data['tablerequireDate'] >= datetime.today():
raise serializers.ValidationError(
"Date must be today or within 7 days")
return data
当您可以在validate
方法中声明它时,为什么需要将其添加到类中:
def validate(self, data):
if data['tablerequireDate'] >= datetime.today():
raise serializers.ValidationError(
"Date must be today or within 7 days")
return data
今天试试self.today
看看这是否有效?在/api/create/处得到错误类型error,无法比较datetime.datetime和datetime.datetryself.today
看看这是否有效?在/api/create/处得到错误类型error,无法比较datetime.datetime和datetime.date