示例#1
0
class BackupSerializer(serializers.HyperlinkedModelSerializer):
    backup_source = GenericRelatedField(related_models=utils.get_backupable_models())
    state = serializers.ReadOnlyField(source='get_state_display')
    backup_source_name = serializers.ReadOnlyField(source='backup_source.name')
    metadata = JsonField(read_only=True)

    class Meta(object):
        model = models.Backup
        fields = ('url', 'uuid', 'description', 'created_at', 'kept_until', 'backup_source', 'state', 'backup_schedule',
                  'metadata', 'backup_source_name')
        read_only_fields = ('created_at', 'kept_until', 'backup_schedule')
        extra_kwargs = {
            'url': {'lookup_field': 'uuid'},
            'backup_schedule': {'lookup_field': 'uuid'},
        }
示例#2
0
class BackupScheduleSerializer(serializers.HyperlinkedModelSerializer):
    backup_source = GenericRelatedField(related_models=utils.get_backupable_models())
    backup_source_name = serializers.ReadOnlyField(source='backup_source.name')
    timezone = serializers.ChoiceField(choices=[(t, t) for t in pytz.all_timezones],
                                       default=django_timezone.get_current_timezone_name)

    class Meta(object):
        model = models.BackupSchedule
        fields = ('url', 'uuid', 'description', 'backups', 'retention_time', 'timezone',
                  'backup_source', 'maximal_number_of_backups', 'schedule', 'is_active', 'backup_source_name')
        read_only_fields = ('is_active', 'backups')
        extra_kwargs = {
            'url': {'lookup_field': 'uuid'},
            'backups': {'lookup_field': 'uuid'},
        }
示例#3
0
 def get_related_models(self):
     return utils.get_backupable_models()