Django RF,序列化程序验证字段中的日期比较错误

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 =

我已经实现了以下序列化程序验证,以检查用户输入的日期(yyyy-mm-dd)是否在本周内或至少在今天之前

但是我在“今天”收到一个错误

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.datetry
self.today
看看这是否有效?在/api/create/处得到错误类型error,无法比较datetime.datetime和datetime.date