我们从Python开源项目中,提取了以下6个代码示例,用于说明如何使用rest_framework.serializers.DateTimeField()。
def test_collection_serializer(): """ Test for CollectionSerializer """ collection = factories.CollectionFactory() videos = [factories.VideoFactory(collection=collection) for _ in range(3)] expected = { 'key': collection.hexkey, 'created_at': DateTimeField().to_representation(collection.created_at), 'title': collection.title, 'description': collection.description, 'videos': serializers.VideoSerializer(videos, many=True).data, 'video_count': len(videos), 'view_lists': [], 'admin_lists': [], 'is_admin': None } expected['videos'].sort(key=lambda x: x['key']) serialized_data = serializers.CollectionSerializer(collection).data serialized_data['videos'].sort(key=lambda x: x['key']) assert serialized_data == expected
def test_collection_list_serializer(): """ Test for CollectionListSerializer """ collection = factories.CollectionFactory() _ = [factories.VideoFactory(collection=collection) for _ in range(3)] expected = { 'key': collection.hexkey, 'created_at': DateTimeField().to_representation(collection.created_at), 'title': collection.title, 'description': collection.description, 'view_lists': [], 'admin_lists': [], 'video_count': collection.videos.count(), } assert serializers.CollectionListSerializer(collection).data == expected
def test_subtitle_serializer(): """ Test for VideoSubtitleSerializer """ subtitle = factories.VideoSubtitleFactory() expected = { 'id': subtitle.id, 'language': subtitle.language, 'language_name': subtitle.language_name, 's3_object_key': subtitle.s3_object_key, 'bucket_name': subtitle.bucket_name, 'filename': subtitle.filename, 'created_at': DateTimeField().to_representation(subtitle.created_at) } assert serializers.VideoSubtitleSerializer(subtitle).data == expected
def test_should_date_time_convert_datetime(): assert_conversion(serializers.DateTimeField, graphene.types.datetime.DateTime)
def test_video_serializer(): """ Test for VideoSerializer """ video = factories.VideoFactory() video_files = [factories.VideoFileFactory(video=video)] video_thumbnails = [factories.VideoThumbnailFactory(video=video)] expected = { 'key': video.hexkey, 'collection_key': video.collection.hexkey, 'collection_title': video.collection.title, 'created_at': DateTimeField().to_representation(video.created_at), 'multiangle': video.multiangle, 'title': video.title, 'description': video.description, 'videofile_set': serializers.VideoFileSerializer(video_files, many=True).data, 'videothumbnail_set': serializers.VideoThumbnailSerializer(video_thumbnails, many=True).data, 'videosubtitle_set': [], 'status': video.status, 'collection_view_lists': [], 'view_lists': [], 'is_private': False, 'is_public': False } assert serializers.VideoSerializer(video).data == expected
def __init__(self, allow_extra): class Model(serializers.Serializer): id = serializers.IntegerField() client_name = serializers.CharField(max_length=255) sort_index = serializers.FloatField() # client_email = serializers.EmailField(required=False, allow_null=True) client_phone = serializers.CharField(max_length=255, required=False, allow_null=True) class Location(serializers.Serializer): latitude = serializers.FloatField(required=False, allow_null=True) longitude = serializers.FloatField(required=False, allow_null=True) location = Location(required=False, allow_null=True) contractor = serializers.IntegerField(required=False, allow_null=True, min_value=0) upstream_http_referrer = serializers.CharField(max_length=1023, required=False, allow_null=True) grecaptcha_response = serializers.CharField(min_length=20, max_length=1000) last_updated = serializers.DateTimeField(required=False, allow_null=True) class Skill(serializers.Serializer): subject = serializers.CharField() subject_id = serializers.IntegerField() category = serializers.CharField() qual_level = serializers.CharField() qual_level_id = serializers.IntegerField() qual_level_ranking = serializers.FloatField(default=0) skills = serializers.ListField(child=Skill()) self.allow_extra = allow_extra # unused self.serializer = Model